【Python爬虫错误】ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接

具体的解决方法如下:

1.  在request后面写入一个关闭的操作,

response.close()

2.  设置socket默认的等待时间,在read超时后能自动往下继续跑

socket.setdefaulttimeout(t_default)

3.  设置sleep()等待一段时间后继续下面的操作

time.sleep(t)
#coding=utf-8
import urllib.request
import urllib.error
from bs4 import BeautifulSoup
import time
import socket
 
socket.setdefaulttimeout(20)  # 设置socket层的超时时间为20秒
header = {'User-Agent': 'Mozilla/5.0'}
url = []
print('输入需要查询的基金号,按Q结束\n')
while True:
	n = input()
	if n == 'Q':
		break
	elif n:
		t = 'http://fund.eastmoney.com/{0}.html?spm-search'.format(n)
		url.append(t)
	else:
		print('输入错误')
 
for i in url:
	request = urllib.request.Request(i, headers=header)
	try:
		response = urllib.request.urlopen(request)
		soup = BeautifulSoup(response, 'html.parser')		
		title = soup.find('div', attrs={'class': 'fundDetail-tit'})
		rate = soup.find('span', attrs={'id': 'gz_gszzl'})
		print(title.text, rate.text)
		response.close()	# 注意关闭response
	except urllib.error.URLError as e:
		print(e.reason)
	time.sleep(1)	# 自定义

 

回答: ConnectionResetError: \[WinError 10054\]是一个Python爬虫错误,表示远程主机强制关闭一个现有连接。根据引用\[1\]中的解决方法,可以使用函数回调来解决这个问题。通过在程序报错时使用try-except语句重新调用该方法,直至抓取成功。一般情况下,重新调用一两次就可以成功。这种方法的效率还算可以。另外,根据引用\[2\]中的解释,这个错误可能是由于socket超时时间过长、没有进行request.close()操作或者没有设置适当的sleep间隔导致的。所以在处理这个错误时,可以考虑调整超时时间、添加request.close()操作或者设置适当的sleep间隔。最终,根据引用\[3\]中的结果,问题得到了解决。 #### 引用[.reference_title] - *1* *3* [ConnectionResetError: [WinError 10054] 远程主机强迫关闭一个现有连接。](https://blog.csdn.net/qq_40910788/article/details/84844464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python爬虫出现错误ConnectionResetError: [WinError 10054] 远程主机强迫关闭一个现有连接。](https://blog.csdn.net/MG_ApinG/article/details/82141754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值