Я использую python-mechanize, чтобы очистить некоторые веб-сайты, которые когда-то просто не отвечают на запросы, и эти запросы остаются открытыми слишком долго, поэтому мне нужно ограничить время ожидания для этих запросов.Как установить таймаут с помощью python-mechanize?
При использовании urlopen
метод тайм-аут может быть установлен с помощью параметра timeout
, но я не нашел легкий способ сделать это с высоким уровнем API, такие как submit
или click
методы. В идеале тайм-аут будет установлен только один раз для всего класса браузера, и все вызовы будут отмечать это.
Было бы, вероятно, можно настроить это путем передачи пользовательских request_class
каждому click
и submit
вызова, но это было просто загрязняет код, поэтому я ищу более хорошим решением для установки тайм-аута для класса браузера механизировать (и нет, Я не хочу менять тайм-аут по умолчанию, используя socket.setdefaulttimeout
).
http://stackoverflow.com/questions/8464391/what-should-i- do-if-socket-setdefaulttimeout-is-not-working –
Я знаю, что mechanize.Request может указать время ожидания. Проблема заключается в том, что я не использую класс Request напрямую, но с помощью методов механического щелчка или отправки, которые не предоставляют способ установить тайм-аут. –
'Browser .__ init__' принимает' request_class', который используется не по умолчанию? – yaccz