2017-11-25 19 views
0

次のコードスニペットを実行して、指定したURLからデータを取得しようとしています。私は 'timeout = 5'パラメータを使って試してみました。response.get()返されない、またはタイムアウトが発生しない

最終的には、スクリプトを実行するとPythonがハングアップするか、タイムアウトエラーメッセージが表示されます。ブラウザでURLを開くと、有効なjsonが返されるように見えますが、Pythonでデータをスクラップすることはできません。

どのような取引ですか?

import requests 

url = "http://stats.nba.com/stats/shotchartdetail?Period=0&VsConference=&LeagueID=00&LastNGames=0&TeamID=0&Position=&Location=&Outcome=&ContextMeasure=FGA&DateFrom=&StartPeriod=&DateTo=&OpponentTeamID=0&ContextFilter=&RangeType=&Season=2016-17&AheadBehind=&PlayerID=202738&EndRange=&VsDivision=&PointDiff=&RookieYear=&GameSegment=&Month=0&ClutchTime=&StartRange=&EndPeriod=&SeasonType=Regular+Season&SeasonSegment=&GameID=&PlayerPosition=" 

response = requests.get(url,timeout=5) 
print(response) 

答えて

2

あなたはヘッダーとヘッダー

User-Agentリクエストヘッダは、ネットワーク・プロトコル・ピアは、アプリケーションタイプ、オペレーティングシステムを識別することを可能にする特性文字列が含まに特異的にユーザーエージェントを渡していない、ソフトウェアベンダーまたはソフトウェアのバージョンのいずれかを選択します。

headers ={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.78 Chrome/60.0.3112.78 Safari/537.36"} 

response = requests.get(url,headers=headers,timeout=5) 
print response.text 
+0

これは問題を解決しました。ありがとうございます。 – trystuff

関連する問題