python socket.error: [Errno 10054] 解决方法
我用的是python2.7 我搜网上10054错误解决方法的时候发现,大部分文章都是以python3为基础的,对于python2不适用。
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。
原因:服务器发现你的爬虫行为了,所有强制断开链接了
解决办法: 服务器知道你是爬虫,加headers, 模拟浏览器agent;head中有一个user-agent每次都换不同的模拟代理
#coding:utf-8 import urllib2 url ='http://www.baidu.com' #例子 headers = {'User-agent' : 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0'} request = urllib2.Request(url, headers = headers) response = urllib2.urlopen(request,timeout=20) if response.getcode()==200: print response.read()
一般请求服务器爬取网页时,我都不加headers的,但是我最近再爬取之前爬取的网页时,就出现了404错误,可是发现了我的爬虫行为。加了headers之后,就又可以正常爬取了。
参考
1、head中有一个user-agent每次都换不同的模拟代理
2、测试最大访问时间短,每秒多少次请求会出现中断,然后sleep(200)毫秒
3、每次请求中断上一次链接,keep-live=false
试试看,
不然就是换IP访问
2、测试最大访问时间短,每秒多少次请求会出现中断,然后sleep(200)毫秒
3、每次请求中断上一次链接,keep-live=false
试试看,
不然就是换IP访问
分类:
Python
标签:
Python
, Python Bug解决方法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 快收藏!一个技巧从此不再搞混缓存穿透和缓存击穿
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!