問題タブ [yellow-pages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1244 参照

python - requests.get() 例外をキャッチする方法

私は、yellowpages.com の Web スクレイパーに取り組んでいますが、全体的にうまく機能しているようです。ただし、長いクエリのページネーションを繰り返し処理している間、 requests.get(url) はランダムに<Response [503]>orを返し<Response [404]>ます。時折、次のようなより悪い例外が発生します。

requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.yellowpages.com', port=80): URL で最大再試行回数を超えました: /search?search_terms=florists&geo_location_terms=FL&page=22 (NewConnectionError(':新しい接続: [WinError 10053] 確立された接続は、ホスト マシンのソフトウェアによって中止されました',))

time.sleep() を使用すると 503 エラーが解消されるように見えますが、404 と例外の問題は残ります。

さまざまな応答を「キャッチ」する方法を見つけようとしているので、変更 (待機、プロキシの変更、ユーザーエージェントの変更) を行い、再試行および/または先に進むことができます。次のような疑似コードを作成します。

この時点で、次を使用して問題をキャプチャすることさえできないようです。

私がgithubと以下から始めている場所の完全なコード:

この長い投稿/返信を読むために時間を割いていただきありがとうございます:)