1
我想在python中使用请求做一个get请求,但我得到一个400错误的请求错误。但是,当我在同一个网址上执行wget或curl时,它会起作用。这里是我的代码:Python中的GET请求不好请求,但wget和卷曲工作
daily_scoreboard_url = 'http://stats.nba.com/stats/scoreboardV2?DayOffset=0&LeagueID=00&gameDate=01/12/2016'
scoreboard_response = requests.get(daily_scoreboard_url)
scoreboard_response.raise_for_status()
然而,当我尝试像
curl 'http://stats.nba.com/stats/scoreboardV2?DayOffset=0&LeagueID=00&gameDate=01/12/2016'
wget 'http://stats.nba.com/stats/scoreboardV2?DayOffset=0&LeagueID=00&gameDate=01/12/2016'
它工作的事情。我也尝试了使用get请求从stats.nba.com中获取其他内容,并且它工作正常。
teamslist_url = 'http://stats.nba.com/stats/leaguedashteamstats?Conference=&DateFrom=&DateTo=&Division=&GameScope=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2015-16&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&VsConference=&VsDivision='
teamslist_response = requests.get(teamslist_url)
teamslist_response.raise_for_status()
谢谢,这工作!但出于好奇,为什么我不需要其他网址的用户代理来运行? – birna
@birna:正如我所说的,*某些网站需要用户代理来检查您是否是人类或bot /脚本。*似乎本网站不允许没有用户代理的请求。它由网站的所有者设置。 –