Как установить значение времени ожидания для Python ' s механизировать?
Алекс прав: Mechanize.urlopen
принимает аргумент тайм-аут
. Поэтому просто вставьте число секунд в число с плавающей запятой : Mechanize.urlopen ('http: // url /', timeout = 30.0)
.
Фон из источника mechanize.urlopen
:
def urlopen(url, data=None, timeout=_sockettimeout._GLOBAL_DEFAULT_TIMEOUT):
...
return _opener.open(url, data, timeout)
Что такое mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT
, спросите вы? Это просто настройка модуля сокета
.
import socket
try:
_GLOBAL_DEFAULT_TIMEOUT = socket._GLOBAL_DEFAULT_TIMEOUT
except AttributeError:
_GLOBAL_DEFAULT_TIMEOUT = object()
Если вы используете Python 2.6 или выше и соответственно обновленную версию Mechanize
, Mechanize.urlopen
должен принять тайм-аут = ...
необязательный аргумент, который, похоже, именно то, что вам нужно.