备、影视、汽车、数码、情感等一切人和事的见解,热闹、真实、有温度。
受害者地址
https://nba.hupu.com/stats/players
本文知识点:
环境介绍:
爬虫案例的一般步骤
导入工具
import requests # 第三方工具
import parsel # 数据解析工具 (css\正则表达式\xpath)
import csv
加python学习qq群:775690737 送python零基础入门学习资料+99个源码
确定url地址(网页分析) 完成一半 (静态网页\动态网页)
url = 'https://nba.hupu.com/stats/players/pts/{}'.format(page)
发送网络请求 requests(js\html\css)
response = requests.get(url=url)
html_data = response.text
数据解析(筛选数据)
selector = parsel.Selector(html_data)
trs = selector.xpath('//tbody/tr[not(@class="color_font1 bg_a")]')
for tr in trs:
rank = tr.xpath('./td[1]/text()').get() # 排名
player = tr.xpath('./td[2]/a/text()').get() # 球员
team = tr.xpath('./td[3]/a/text()').get() # 球队
score = tr.xpath('./td[4]/text()').get() # 得分
hit_shot = tr.xpath('./td[5]/text()').get() # 命中-出手
hit_rate = tr.xpath('./td[6]/text()').get() # 命中率
hit_three = tr.xpath('./td[7]/text()').get() # 命中-三分
three_rate = tr.xpath('./td[8]/text()').get() # 三分命中率
hit_penalty = tr.xpath('./td[9]/text()').get() # 命中-罚球
penalty_rate = tr.xpath('./td[10]/text()').get() # 罚球命中率
session = tr.xpath('./td[11]/text()').get() # 场次
playing_time = tr.xpath('./td[12]/text()').get() # 上场时间
print(rank, player, team, score, hit_shot, hit_rate, hit_three,
three_rate, hit_penalty, penalty_rate, session, playing_time)
data_dict = {
'排名': rank, '球员': player, '球队': team, '得分': score,
'命中-出手': hit_shot, '命中率': hit_rate, '命中-三分': hit_three, '三分命中率': three_rate,
'命中-罚球': hit_penalty, '罚球命中率': penalty_rate, '场次': session, '上场时间': playing_time}
csv_write.writerow(data_dict)
# 想要完整源码的同学可以加我的QQ裙:加python学习qq群:775690737 送python零基础入门学习资料+99个源码
运行代码,效果如下