我正在嘗試爲stats.nba.com網站編寫webscraper。有時當我運行一個腳本時,它會以200返回代碼的形式出現,但有時它會變成400錯誤代碼。我懷疑可能有時需要回應,但不確定。這裏有四個例子,但它通常是一個更大的例子。Python請求獲得不一致的響應代碼
這是代碼。
urls = ['http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500001', 'http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500002',
'http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500003', 'http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500004']
for url in urls:
r = requests.get(url)
print r.url
print r.status_code
下面是一個示例響應,我繼續得到極不一致的響應代碼。
http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500001
200
http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500002
400
http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500003
400
http://stats.nba.com/stats/boxscoresummaryv2?GameID=0021500004
400
也許'stats.nba.com'試圖阻止網頁抓取,並且不允許來自同一個客戶端IP地址的每分鐘超過X個請求。 –
我看不到這個代碼中使用了BeautifulSoup。 –