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

article/2025/9/28 14:04:35

今天写爬虫爬取天天基金网站(http://fund.eastmoney.com/)时出现如下图所示的错误。

分析原因,是因为使用urlopen方法太过频繁,引起远程主机的怀疑,被网站认定为是攻击行为。导致urlopen()后,request.read()一直卡死在那里。最后抛出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 socketsocket.setdefaulttimeout(20)  # 设置socket层的超时时间为20秒
header = {'User-Agent': 'Mozilla/5.0'}
url = []
print('输入需要查询的基金号,按Q结束\n')
while True:n = input()if n == 'Q':breakelif 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()	# 注意关闭responseexcept urllib.error.URLError as e:print(e.reason)time.sleep(1)	# 自定义

运行结果如下图所示:

 

 

 

转自:https://blog.csdn.net/illegalname/article/details/77164521


http://chatgpt.dhexx.cn/article/DgG6sLWU.shtml

相关文章

10054 java_【理解】 Error 10053和 Error 10054

1. 10053 这个错误码的意思是: A established connection was aborted by the software in your host machine, 一个已建立的连接所在主机的软件中止 2. 10054 这个错误码的意思是: Connection closed by peer, 连接已经被对方关闭 10053 出现的可能原因是&#xf…

mysql 端口号_mysql的端口号(mysql常用端口号)

mysql的端口号(mysql常用端口号) 2020-05-07 21:58:15 共10个回答 mysql的默认端口号是多少 mysql默认端口号为3306,修改端口号方法:修改配置文件/etc/my.cnf 如何查看mysql的端口号 1使用命令showglobalvariableslikeport;查看端口号2修改端口,编辑/etc/my.cnf文件,早期版本有…

IT开发+软件测试常用端口号

目录 一、端口号二、非常常用端口号-软件测试 ★★★★★三、一般常用端口号 ★★★☆☆四、端口概述 ★★☆☆☆五、端口一览表详情 ★☆☆☆☆一、端口号 具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经…

Hadoop之常用端口号

hadoop3.xHDFS NameNode 内部通常端口:8020、9000、9820HDFS NameNode 对用户的查询端口:9870Yarn查看任务运行情况的端口:8088历史服务器:19888HDFS NameNode 对用户的查询端口:9870,经常查看目录信息&…

服务器网站常用端口号,web服务器常用端口号

关于 web服务器常用端口号的搜索结果 回答 一般常用的端口号为:WWW是80&xff0c;FTP是21&xff0c;SMTP是25&xff0c;你可以通过修改端口号来提高IIS服务器的安全性。如果你修改了端口设置&xff0c;只有知道端口号的用户才可以访问&xff0c;但用户在访问时需要指定新端…

SQL语句截取字段某指定字符的前半段/后半段内容

最近项目中遇到一个小问题: 需要从数据库中取出对应数据,并根据某个字段中的前半段内容进行排序,搜索资料后得以解决,现将解决方法记录如下: 最初的查询SQL: SELECT file_name,sort FROM base_annexesfil…

sql常用函数详解(一)——字符串截取

1.substring函数——截取字符串 SUBSTRING ( expression, start, length ) expression——字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start——整数或可以隐式转换为int 的表达式,指定子字符串的开始位置。 length——…

sql截取数据

1、left从左开始截取字符串 left(string, length) -- (字符串,截取长度)示例:SELECT id,LEFT(id,4) FROM organization 运行结果: 2、right从右开始截取字符串 right(strin…

sql数据库,截取语句(截取每列中的字段)

制表人也是省事,把这些信息放在一列中,现在需要取红框圈着的数据,有一百多行,操作了十多行,实在是蛋疼,还是用sql搞吧 首先把excel表导入sqlserver中 //表名为“疑点详细说明”,22为姓名身份证…

SQL语句:如何截取指定字段某一个字符的前面/后面的字符串?

假设数据库中,某一列数据像这样,每个数据都有同一个字符“-”,这时如果我们需要获取这个字符的前面的字符串或后面的字符串,应该用什么SQL语句呢? SUBSTRING ( expression, start, length ) --SUBSTRIN…

SQL server 字符串截取

--1、LEFT()方法--- --函数说明--- --1)语法:LEFT(character,integer) --2)介绍:参数1:要截取的字符串,参数2:截取字符个数 --3)使用: --返回从字符串左边开始指定个数…

sql语句之字符串截取(substring_index)

一、substring_index: 实现提取表单列表中的字符串 来源:https://www.cnblogs.com/mqxs/p/7380933.html 1、格式: substring_index(str,delim,count)2、注释: str:要处理的字符串delm:分隔符count&#…

【SQL时间截取】数据库Sql实现截取时间段和日期

【写在前面】前些日子接到这样的需求,我们要对用户访问网站的时间做个统计,但是我想统计到具体的时间点,便于统计不同时间段(上午、下午、傍晚、凌晨)访问的人数占比。 数据库Sql实现截取时间段和日期 1、原始数据查看…

SQL SERVER字符串截取,SQL SERVER根据指定字符截取

字符串截取 字符串截取函数:substring(str,startlen,endlen) 需要截取的字符:str 开始长度:startlen --从1开始 结束长度:endlen -从1开始 用法:select substring(“abcdefg”,1,2) 输出:bc 为啥这么麻烦&…

sql查询中截取字符串

SQL 语句中查询结果字符截取left,right,substrng用法 在SQL的实际用途中,经常会碰到需要对查询结果值需要做字段的一些截取,下面列举经常用到的三种常用截取方式。 1.LEFT(str, length):从左边开始截取str,length是截取的长度&…

sql server提供三种常用截取字符串方法,LEFT()、RIGHT()、SUBSTRING()

一、sql server提供了三种常用截取字符串方法,LEFT()、RIGHT()、SUBSTRING() 1、LEFT()函数语法:LEFT(character,integer) 注释:参数1:要截取的字符串,参数2:截取字符个数说明:返回从字符串左边…

SQL中的字符串截取函数

字符串截取函数,也是我们在数据开发分析的过程中比较常用的函数,比较常用的函数,有四个 left()、right()、substr()、substring_index() 函数。 一、left()函数 含义:返回从字符串左边开始指定个数的字符 语法格式:le…

图像特征提取算法:方向梯度直方图HOG

1.基本介绍 HOG,全称是方向梯度直方图(Histogram Of Gradient),是目前计算机视觉、模式识别领域很常用的一种描述图像局部纹理的特征。这个特征名字起的也很直白,就是说先计算图片某一区域中不同方向上梯度的值&#…

HOG特征提取算法原理

1.算法基本流程 在一幅图像中,方向梯度直方图(Histogram of Oriented Gradient, HOG)能够很好地描述局部目标区域的特征,是一种常用的特征提取方法,HOGSVM在行人检测中有着优异的效果。在HOG中,对一幅图像进…

sift特征提取算法

简介 SIFT算法是用来提取图像局部特征的经典算法,SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。 主要步骤 …