Ответ 1
Алекс прав: mechanize.urlopen
принимает аргумент timeout
. Поэтому просто вставьте число секунд в плавающей запятой: 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
спрашиваете? Это просто настройка модуля socket
.
import socket
try:
_GLOBAL_DEFAULT_TIMEOUT = socket._GLOBAL_DEFAULT_TIMEOUT
except AttributeError:
_GLOBAL_DEFAULT_TIMEOUT = object()