【小白必看】Python爬取NBA球员数据示例

这篇具有很好参考价值的文章主要介绍了【小白必看】Python爬取NBA球员数据示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

前言

使用 Python 爬取 NBA 球员数据的示例代码。通过发送 HTTP 请求,解析 HTML 页面,然后提取出需要的排名、姓名、球队和得分信息,并将结果保存到文件中。

导入需要的库和模块

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

import requests
from lxml import etree
  • 使用requests库发送HTTP请求。
  • 使用lxml库进行HTML解析。

设置请求头和请求地址

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

url = 'https://nba.hupu.com/stats/players'
headers ={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
}
  • 设置请求头信息,包括用户代理(User-Agent)。
  • 设置请求的地址为’https://nba.hupu.com/stats/players’。

发送HTTP请求并获取响应

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

resp = requests.get(url, headers=headers)
  • 使用requests库发送HTTP GET请求,并传入请求地址和请求头信息。
  • 将返回的响应保存在变量resp中。

处理响应结果

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

e = etree.HTML(resp.text)
  • 使用etree.HTML函数将返回的响应文本解析为一个可操作的HTML元素树对象。
  • 将解析后的结果保存在变量e中。

解析数据

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

nos = e.xpath('//table[@class="players_table"]//tr/td[1]/text()')
names = e.xpath('//table[@class="players_table"]//tr/td[2]/a/text()')
teams = e.xpath('//table[@class="players_table"]//tr/td[3]/a/text()')
scores = e.xpath('//table[@class="players_table"]//tr/td[4]/text()')
  • 使用XPath表达式从HTML元素树中提取需要的数据。
  • 分别将排名(nos)、姓名(names)、球队(teams)和得分(scores)保存在对应的变量中。

将结果保存到文件

with open('nba.txt', 'w', encoding='utf-8') as f:
    for no, name, team, score in zip(nos, names, teams, scores):
        f.write(f'排名:{no} 姓名:{name}  球队:{team} 得分:{score}\n')
  • 打开一个文件nba.txt,以写入模式(‘w’)进行操作,编码方式为UTF-8。
  • 使用zip函数同时遍历排名、姓名、球队和得分,将它们合并成一个元组。
  • 将每一行的数据按照指定格式写入文件中。

完整代码

# 引入 requests 库,用于发送 HTTP 请求
import requests
# 引入 lxml 库,用于解析 HTML
from lxml import etree

# 设置请求的地址
url = 'https://nba.hupu.com/stats/players'
# 设置请求头信息,包括用户代理(User-Agent)
headers ={ 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
}

# 发送HTTP GET请求,并传入请求地址和请求头信息,将返回的响应保存在变量resp中
resp = requests.get(url, headers=headers)

# 使用etree.HTML函数将返回的响应文本解析为一个可操作的HTML元素树对象
e = etree.HTML(resp.text)

# 使用XPath表达式从HTML元素树中提取需要的数据
nos = e.xpath('//table[@class="players_table"]//tr/td[1]/text()')
names = e.xpath('//table[@class="players_table"]//tr/td[2]/a/text()')
teams = e.xpath('//table[@class="players_table"]//tr/td[3]/a/text()')
scores = e.xpath('//table[@class="players_table"]//tr/td[4]/text()')

# 打开一个文件`nba.txt`,以写入模式('w')进行操作,编码方式为UTF-8
with open('nba.txt', 'w', encoding='utf-8') as f:
    # 使用zip函数同时遍历排名、姓名、球队和得分,将它们合并成一个元组
    for no, name, team, score in zip(nos, names, teams, scores):
        # 将每一行的数据按照指定格式写入文件中
        f.write(f'排名:{no} 姓名:{name}  球队:{team} 得分:{score}\n')

详细解析

# pip install requests
import requests

导入 requests 库,该库用于发送 HTTP 请求。

# pip install lxml
from lxml import etree

导入 lxml 库,该库用于解析 HTML。

# 发送的地址
url = 'https://nba.hupu.com/stats/players'

设置需要发送请求的地址。

headers ={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'}

设置请求头信息,包括用户代理(User-Agent)。这个信息告诉服务器我们的请求是从一个浏览器发出的,而不是爬虫,这样可以避免被反爬虫机制阻止。

# 发送请求
resp = requests.get(url,headers = headers)

使用 requests.get 方法发送 HTTP GET 请求,并传入请求地址和请求头信息。将返回的响应保存在变量 resp 中。

e = etree.HTML(resp.text)

使用 etree.HTML 函数将返回的响应文本解析为一个可操作的 HTML 元素树对象。etree.HTML 接受一个字符串类型的参数,这里使用 resp.text 来获取响应的文本内容。

nos = e.xpath('//table[@class="players_table"]//tr/td[1]/text()')
names = e.xpath('//table[@class="players_table"]//tr/td[2]/a/text()')
teams = e.xpath('//table[@class="players_table"]//tr/td[3]/a/text()')
scores = e.xpath('//table[@class="players_table"]//tr/td[4]/text()')

使用 XPath 表达式从 HTML 元素树中提取需要的数据。这里分别使用了四个 XPath 表达式来提取排名、姓名、球队和得分的数据,并将它们分别保存在 nosnamesteamsscores 变量中。

with open('nba.txt','w',encoding='utf-8') as f:
    for no,name,team,score in zip(nos,names,teams,scores):
        f.write(f'排名:{no} 姓名:{name}  球队:{team} 得分:{score}\n')

以写入模式(‘w’)打开一个名为 nba.txt 的文件,并使用 UTF-8 编码。然后,使用 zip 函数同时遍历排名、姓名、球队和得分,将它们合并成一个元组。通过循环遍历每个元组,将每行的数据按照指定格式写入文件中。

这样,代码就实现了对 NBA 球员数据进行爬取,并将结果保存到 nba.txt 文件中。

运行效果

【小白必看】Python爬取NBA球员数据示例,python案例分析归纳,python,开发语言,爬虫,小白必看,原力计划

结束语

通过本文的示例代码,你可以学习使用Python爬取NBA球员数据的方法。我们使用了requests库发送HTTP请求,lxml库进行HTML解析,以及XPath表达式提取需要的数据。最后将结果保存到文件中。这个示例可以帮助你了解爬虫的基本原理和操作步骤,同时也能够获取到有关NBA球员的数据。希望本文对你理解和掌握Python爬虫技术有所帮助。文章来源地址https://www.toymoban.com/news/detail-612244.html

到了这里,关于【小白必看】Python爬取NBA球员数据示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python保姆级教程 数据类型—新手小白入门必看系列

    推荐使用压缩软件和杀毒软件 7 - zip 使用火绒 优点: 代码说明 没注释的代码 有注释的代码 不让解释器执行注释的那句话 单行注释快捷键:ctrl + ? \\\"\\\"\\\"\\\"\\\"\\\" (三个双引号) 185730213551 什么是变量:可以改变的量 计算机用来存贮数据的盒子,想用这个数据,就直接那盒子就好了

    2024年02月16日
    浏览(58)
  • 小白必看Python爬虫Selenium库详细教程

    在我们爬取网页过程中,经常发现我们想要获得的数据并不能简单的通过解析HTML代码获取,这些数据是通过AJAX异步加载方式或经过JS渲染后才呈现在页面上显示出来。 selenuim是一种自动化测试工具,它支持多种浏览器。而在爬虫中,我们可以使用它来模拟浏览器浏览页面,进

    2024年02月01日
    浏览(43)
  • Python免费下载安装全流程(Python 最新版本),新手小白必看!

    今天换了新的电脑,需要重新安装python和PyCharm,就简单的写个教程吧~ 1、进入Python官网 官网地址:https://www.python.org 2、点击【Downloads】展开后点击【Windows】跳转到下载python版本页面,选择\\\"Stable Releases\\\"稳定版本,我下载的是Python 3.10.10版本,所以找到【Python 3.10.10-Feb.8,2023】

    2024年02月07日
    浏览(64)
  • Python免费下载安装全流程,新手小白必看!

    Python——一种解释型、面向对象、动态数据类型的高级程序设计语言,是人工智能首选的变成语言。 Python可以应用于Web应用开发、网络爬虫、人工智能、数据处理、服务器运维工作等。 以下为免费的资源 下载网址 (推荐官方网站直接下载): https://www.python.org/downloads/ 建议

    2024年02月02日
    浏览(62)
  • 数据可视化(六):Pandas爬取NBA球队排名、爬取历年中国人口数据、爬取中国大学排名、爬取sina股票数据、绘制精美函数图像

    Tips:\\\"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得点个红心❤️和小关小注哦!您的支持是我创作的动力! 数据源 存放在我的资源下载区啦! 1. 爬取NBA球队排名页面,

    2024年04月24日
    浏览(40)
  • 爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

    在本篇博客中,我们将使用 Python 的 Selenium 和 BeautifulSoup 库来实现一个简单的网页爬虫,目的是爬取豆瓣电影TOP250的数据,并将结果保存到Excel文件中。 Selenium 是一个自动化测试工具,可以模拟用户在浏览器中的交互操作。我们将使用 Selenium 来打开网页、获取网页源码。 B

    2024年02月12日
    浏览(54)
  • 【Python脚本】Python轻松爬取歌曲,小白也能轻松上手操作!

    音乐抓取是一种非常有趣和实用的技术,它可以让我们通过程序从互联网上获取音乐文件,比如MP3文件。在本案例文章中,我们将使用Python编写一个简单的音乐抓取程序,来演示如何使用Python进行音乐抓取。 领取Python学习大礼包 在开始编写代码之前,我们需要安装一些必要

    2024年02月14日
    浏览(43)
  • Mac 电脑中怎么查看和修改环境变量,Mac中设置python的环境变量(小白必看)

     什么是环境变量         环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 简单通俗的来说,就是设置一条路,在运行程序的时候,可以到环境变量中去找这条路,沿着这条路去走,

    2024年04月29日
    浏览(33)
  • 【数据结构】——单链表超详细介绍(小白必看!!!)

     c语言中的小小白-CSDN博客 c语言中的小小白关注算法,c++,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域. https://blog.csdn.net/bhbcdxb123?spm=1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行!!! 铁铁们,成功的路上必然是孤

    2024年04月11日
    浏览(68)
  • python爬取微信小程序数据,python爬取小程序数据

    大家好,小编来为大家解答以下问题,python爬取微信小程序数据,python爬取小程序数据,现在让我们一起来看看吧! 最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址、解析网址中

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包