私はpython-mechanizeを使用していくつかの Web サイトをスクレイピングしていますが、これらのサイトは単にリクエストに応答せず、これらのリクエストが長時間開いたままになっているため、これらのリクエストのタイムアウトを制限する必要があります。
メソッドを使用している間、パラメーターurlopen
を使用してタイムアウトを設定できますが、またはメソッドtimeout
などの高レベル API でそれを行う簡単な方法が見つかりませんでした。理想的には、タイムアウトはブラウザー クラス全体に対して 1 回だけ設定され、すべての呼び出しがそれを尊重します。submit
click
request_class
customを everyclick
とcall に渡すことでこれをカスタマイズすることはおそらく可能submit
ですが、これはコードを汚染するだけなので、mechanize のブラウザ クラスのタイムアウトを設定するためのより良い解決策を探しています (いいえ、変更したくありません)。を使用したデフォルトのソケットタイムアウトsocket.setdefaulttimeout
)。