我使用'requests'模块来获取来自某个给定站点的信息,其频率相对较高。 事实上,我想每隔10秒访问一次远程站点。
我的代码如下:
def get_response_without_ddos_suspect(request_url, timeout=10):
while True:
try:
response = requests.get(request_url, timeout=timeout)
print response
except Exception as e:
print e
time.sleep(10)
'request_url'是网站提供的一些访问api,所以没问题。 我希望它有效,但实际上功能有时无法工作。 我试图通过打印它们来捕获异常,以发现它只是简单的超时异常。 但我的功能再也没有得到回应。 我觉得这个功能正在等待一些永远不会发生的响应!
但是,当我手动重启该功能时,它会再次开始响应。 所以,我真的很困惑,不知道会发生什么。 这个问题让我困惑了好几天,但是在谷歌搜索并在Stackoverflow中寻找解决方案好几天后,我自己都没能解决。 如何继续访问站点,同时避免在发生异常后不再获取数据。 由于可以通过手动重启程序来恢复,因此应该存在一些方法使功能自动从故障中恢复。 请帮忙。
我是python和spider的新手,所以请尽可能提供详细而全面的解决方案。