【发布时间】:2012-01-28 19:19:53
【问题描述】:
我正在使用 Python 蜘蛛通过 urllib2 OpenerDirector 抓取互联网。问题是连接将不可避免地挂在 https 地址上,显然忽略了超时值。
一种解决方案是在线程中运行它,然后如果线程挂起,则终止并重新启动线程。显然 Python 不支持杀死线程,由于垃圾收集和其他问题,它被认为是一个坏主意。但是,由于简单,这种解决方案对我来说更可取。
另一个想法是使用像 Twisted 这样的异步库,但这并不能解决问题。
我需要一种方法来强制中断呼叫或修复 urllib2 OpenerDirector 处理超时的方式。谢谢。
【问题讨论】:
标签: python timeout urllib2 python-2.6 freeze