我正在使用python-mechanize来抓取一些网站,这些网站有时根本不响应请求并且这些请求保持打开的时间过长,所以我需要限制这些请求的超时时间。
使用urlopen
方法时,可以使用timeout
参数设置超时,但我还没有找到简单的方法来使用高级 API,例如submit
或click
方法。理想情况下,超时将为整个浏览器类设置一次,并且所有调用都会尊重这一点。
可能可以通过将自定义传递request_class
给每个click
和submit
调用来自定义它,但这只会污染代码,所以我正在寻找更好的解决方案来为 mechanize 的浏览器类设置超时(不,我不想改变默认套接字超时使用socket.setdefaulttimeout
)。