【发布时间】:2017-04-23 22:30:20
【问题描述】:
我正在尝试使用 Python 从 NBA.com 抓取数据,但在运行我的代码(如下所示)等待一段合理的时间后,我没有收到响应。
import requests
import json
url_front = 'http://stats.nba.com/stats/leaguedashplayerstats?College=&' + \
'Conference=&Country=&DateFrom=&DateTo=&Division=&DraftPick=&' + \
'DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=0&LeagueID=00&' + \
'Location=&MeasureType='
url_back = '&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&' + \
'PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&' + \
'PlusMinus=N&Rank=N&Season=2016-17&SeasonSegment=&' + \
'SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&' + \
'VsConference=&VsDivision=&Weight='
#measure_type = ['Base','Advanced','Misc','Scoring','Opponent','Usage','Defense']
measure_type = 'Base'
address = url_front + measure_type + url_back
# Request the URL, then parse the JSON.
response = requests.get(address)
response.raise_for_status() # Raise exception if invalid response.
data = response.json() # JSON decoding.
到目前为止,我已经尝试从博客文章 (here) 和/或本网站上发布的问题 (Python, R) 中复制本质上相似的代码,但我最终得到了相同的结果每次结果 - 代码实际上并没有成功从 URL 中提取任何内容。
由于我是网络抓取的新手,我希望能帮助我解决问题 - 这对于具有客户端渲染的网站 (NBA.com) 是否常见,还是表明我的代码/计算机存在问题?在这两种情况下,是否有常见的解决方法/解决方案?
【问题讨论】:
-
您是否尝试过在浏览器中访问该网址?它有一条消息说'MeasureType is required'
-
该链接应该可以在浏览器中使用 - 如果您仍然感兴趣,请尝试this。
标签: python web-scraping