在python中,为什么请求在特定时间后停止?
我有这个代码,它的功能是发送Jetta类型的请求,从请求中获取文本,从文本文件读取网站链接,问题是在发送300或500个请求后,脚本停止,没有显示任何错误,它只是停止工作在python中,为什么请求在特定时间后停止?,python,python-3.x,python-requests,request,Python,Python 3.x,Python Requests,Request,我有这个代码,它的功能是发送Jetta类型的请求,从请求中获取文本,从文本文件读取网站链接,问题是在发送300或500个请求后,脚本停止,没有显示任何错误,它只是停止工作 import requests sites = open(r'site.txt', 'r', encoding="utf8").readlines() l_site = [] for i in sites: l_site.append(i) for x in len(l_site):
import requests
sites = open(r'site.txt', 'r', encoding="utf8").readlines()
l_site = []
for i in sites:
l_site.append(i)
for x in len(l_site):
result = requests.get(f'{site}', allow_redirects=True).text
open('result.txt', 'a').write(f'{result}\n')
我假设您的函数比您在这里输入的要多,因为我看不到
站点
变量的创建位置
你可以沿着这些路线做一些事情,更好地了解它停在哪里
import requests
sites = open(r'site.txt', 'r', encoding="utf8").readlines()
l_site = [s for s in sites]
with open('result.txt', 'a') as fb:
for site in l_site:
try:
print(f"Processing {site}")
result = requests.get(f'{site}', allow_redirects=True).text
fb.write(f'{result}\n')
except Exception as e:
raise e
如果我理解正确,这就是你想要的:
site.txt读取
result.txt
部分,但不包括部分
导入请求
URL\u文件='site.txt'
结果文件='RESULT.txt'
错误\u文件='result error.txt'
def句柄url(url:str、结果文件、错误文件):
尝试:
#10秒超时,不是下载时间,而是获取HTTP响应的时间
content=requests.get(url,allow\u redirects=True,timeout=10)
result_file.write(f'{content.text}\n')
除了requests.exceptions.ConnectTimeout作为e:
错误\u文件。写入(f'{url}:{e}\n')
打开(URL\u文件'r',encoding=“utf8”)作为f:
打开(结果文件“a”)作为rf:
将打开的(错误文件“a”)作为ef:
对于f.readlines()中的url:
句柄\u url(url、rf、ef)
您是否在调试器中对其进行了单步调试,以准确查看停止时发生的情况?在第一次请求之前,您的代码应该会因名称错误而失败。在循环中重复打开一个文件,而在循环之前只打开一次,这是一种不好的形式。