這篇文章給大家介紹Python如何爬取NBA虎撲球員數(shù)據(jù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10多年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:社區(qū)文化墻等企業(yè),備受客戶贊揚(yáng)。
虎撲是一個(gè)認(rèn)真而有趣的社區(qū),每天有眾多JRs在虎撲分享自己對籃球、足球、游戲電競、運(yùn)動裝備、影視、汽車、數(shù)碼、情感等一切人和事的見解,熱鬧、真實(shí)、有溫度。
受害者地址
https://nba.hupu.com/stats/players
本文知識點(diǎn):
系統(tǒng)分析網(wǎng)頁性質(zhì)
結(jié)構(gòu)化的數(shù)據(jù)解析
csv數(shù)據(jù)保存
環(huán)境介紹:
python 3.6
pycharm
requests
csv
爬蟲案例的一般步驟
1.確定url地址(網(wǎng)頁分析) 完成一半
2.發(fā)送網(wǎng)絡(luò)請求 requests(js\html\css)
3.數(shù)據(jù)解析(篩選數(shù)據(jù))
4.保存數(shù)據(jù)(本地文件\數(shù)據(jù)庫)
導(dǎo)入工具
import requests # 第三方工具 import parsel # 數(shù)據(jù)解析工具 (css\正則表達(dá)式\xpath) import csv
確定url地址(網(wǎng)頁分析) 完成一半 (靜態(tài)網(wǎng)頁\動態(tài)網(wǎng)頁)
url = 'https://nba.hupu.com/stats/players/pts/{}'.format(page)
發(fā)送網(wǎng)絡(luò)請求 requests(js\html\css)
response = requests.get(url=url) html_data = response.text
數(shù)據(jù)解析(篩選數(shù)據(jù))
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() # 球隊(duì) 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() # 上場時(shí)間 print(rank, player, team, score, hit_shot, hit_rate, hit_three, three_rate, hit_penalty, penalty_rate, session, playing_time) data_dict = { '排名': rank, '球員': player, '球隊(duì)': team, '得分': score, '命中-出手': hit_shot, '命中率': hit_rate, '命中-三分': hit_three, '三分命中率': three_rate, '命中-罰球': hit_penalty, '罰球命中率': penalty_rate, '場次': session, '上場時(shí)間': playing_time} csv_write.writerow(data_dict) # 想要完整源碼的同學(xué)可以關(guān)注我的公眾號:松鼠愛吃餅干 # 回復(fù)“虎撲NBA”即可免費(fèi)獲取
運(yùn)行代碼,效果如下
關(guān)于Python如何爬取NBA虎撲球員數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。