在Python中经过一段时间后,如何在循环中结束请求?

IlovePython

我的Python程序应该(或已经)将请求发送到网站列表以测试它们是否存在。然后,应将结果(无论是否存在)保存在列表中或之后保存在文件中。到目前为止,它运行良好。但是我总是收到一些网站的错误消息,看起来像这样:

requests.exceptions.ReadTimeout: HTTPConnectionPool(host='www.oderwald.de', port=80): Read timed out. (read timeout=60)

我认为问题在于网站只是不发送回复,而是不断询问程序。到目前为止,我的程序如下所示:

import requests
from requests.exceptions import ConnectionError
with open("list_website.txt") as infile:
   list = [list.strip() for list in infile]


list_ge = []
list_ne = []
x=0
n=0 
g=0
i=0

for i in range(len(list)):
    try:
        request = requests.get('http://www.' + list[i] + ".de")
    except ConnectionError:
        list_ne.append(list[i])
        g=+1
        file = open('not_working.txt','a')
        file.write(list[i]+ "\n")
    else:
        list_ge.append(list[i])
        n=+1
        file2 = open('works.txt','a')
        file2.write(liste[i] + "\n")

print(list_ge)
print(list_ne)

有谁知道我该如何解决这个问题?提前谢谢了。

马塞尔

编辑:

要使异常提前返回(不是默认的60秒),请更改行

request = requests.get('http://www.' + list[i] + ".de")

request = requests.get('http://www.' + list[i] + ".de", timeout = 2),其中2是您最多愿意等待的秒数。

最初的帖子如下:

您尝试访问的网站(www.oderwald.de)在指定的时间(您的情况下为60秒)内没有响应,因此,这种现象是可以预期的。由于这只是一个例外,因此您可以使用except语句来处理它见下文:

try:
    request = requests.get('http://www.' + list[i] + ".de")
except requests.exceptions.ReadTimeout:
    print("Read timeout occurred")
    # The website exists but does not respond.
    # Decide to which category you assign it.

list()指的是内置的Python函数,您将在以下行中对其进行覆盖:list = [list.strip() for list in infile]请改用另一个变量名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

经过一段时间的重载后,Java / jetty无法响应连接

经过一段时间或满足条件后运行代码

经过一段时间没有输入后,Web Speech API停止监听

经过一段时间后,对于许多处于读取状态的长时间运行的Apache进程,没有任何请求

经过一段时间的值总和后,如何在influxdb中获得前5个结果

经过一段时间的训练后,训练损失值正在增加,但是该模型可以很好地检测出物体

一段时间后如何从循环中从数组中删除对象

R:新列,用于显示经过一段时间的独特观察结果(从以前的索引开始)

经过一段时间后,是否有办法从流程中分离流程?

经过一段时间后,如何一个接一个地启用布尔值?

如何在一段时间内循环运行python脚本?

一段时间后取消requestAnimationFrame循环

在tkinter窗口中已显示的旧图像下,经过一段时间的延迟后如何显示新图像?

如何在Chartjs中跳过一段时间的数据/标签?

Javascript:经过一段时间后执行操作

经过一段时间后,运行需要sudo的命令

在C中经过一段时间后如何停止一会儿循环

如何在经过一段时间后重设数据库值ASP.NET MVC C#

在php中经过一段时间后,会话会自动过期

如何在python服务器中间隔一段时间后调用函数?

Python,如果条件是经过一段时间

经过一段时间的机器学习训练后运行大型程序时出现分段错误

自上次在 tkinter 中按下按键后经过一段时间后调用函数

如何在 ReactJS 中经过一段时间后从一个屏幕切换到另一个屏幕?

您将如何使用 psutil 杀死超过一段时间的空闲进程?

如何在ExpressJS中经过一段时间后从字典中删除对象

经过一段时间后在 azure 服务总线上重试消息?

Flutter android 应用程序经过一段时间的操作后崩溃

如何在 Python 中经过一段时间后跳过循环的迭代?