【Wikipedia爬虫工具包的使用】请求超时、代理错误、SSLError
项目场景:
https://github.com/goldsmith/Wikipedia
使用该工具包爬取维基百科的搜索内容
问题描述
TimeoutError;urllib3.exceptions.NewConnectionError;requests.exceptions.ConnectionError;requests.exceptions.ProxyError
case1:Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
case2:Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
case3:Caused by ProxyError(‘Cannot connect to proxy.’, RemoteDisconnected(‘Remote end closed connection without response’))。
尝试:
1.使用v2ray开启代理,尝试多个节点均请求失败(使用proxies = { #ip: port },开启或关闭v2ray代理服务均失败。浏览器搜IP地址显示的非真实地址)。
2.尝试了利用my_fake_useragent更换随机UA,没有变化。
3.设置verify=False也没有变化。
4.设置’Connection’: 'close’也没有变化。
5.更换url为http://baidu.com,可以请求但因为网页内容问题无法返回json格式数据。
// proxies, verify=False
proxies = {'http': 'xxx.xx.xxx.xxx:xxxxx', 'https': 'xxx.xx.xxx.xxx:xxxxx',}r = requests.get(API_URL, params=params, headers=headers, proxies=proxies, verify=False)//my_fake_useragentimport my_fake_useragent as uaUSER_AGENT = ua.UserAgent().random()//'Connection': 'close'
headers = {'User-Agent': USER_AGENT,'Connection': 'close'}
解决方案:
更换clash开启代理(不用proxies, 只使用clash开启代理服务即可。浏览器搜ip地址显示的是真实地址)
出现 Caused by SSLError(SSLError(1, '[SSL: KRB5_S_TKT_NYV] unexpected eof while…
错误。
代码中注释提示 # This branch is for urllib3 v1.22 and later.
将urllib3换成1.21版本,成功运行。
verify=False时会有警告InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.
删掉verify=False,警告消失。
取消之前尝试的修改(‘Connection’: 'close’和my_fake_useragent更换随机UA),也可以成功运行。
//均为工具包中原始代码
API_URL = 'http://en.wikipedia.org/w/api.php'
USER_AGENT = 'wikipedia (https://github.com/goldsmith/Wikipedia/)'......headers = {'User-Agent': USER_AGENT}
r = requests.get(API_URL, params=params, headers=headers)
总结
使用该工具包,无需对wikipedia.py进行修改。开启合适的代理即可。
【Wikipedia爬虫工具包的使用】请求超时、代理错误、SSLError相关推荐
- 【爬虫小白】各种请求使用代理的方法
一下以快代理的代理的使用方法作为例子 requests设置代理 import requestsproxy = '127.0.0.1:7777' proxies={'http:http://'+prox ...
- C# HttpWebRequest请求超时解决办法
request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的request的keepAlive设置为false ...
- C# 发送HTTP请求超时解决办法
C# 发送HTTP请求超时解决办法**** request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的req ...
- python网页请求超时_python爬虫多次请求超时的几种重试方法(6种)
第一种方法 headers = Dict() url = 'https://www.baidu.com' try: proxies = None response = requests.get(url ...
- python爬虫 - python requests网络请求简洁之道
转自:python爬虫 - python requests网络请求简洁之道 requests简介 requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到 ...
- Python3网络爬虫开发实战,使用IP代理爬取微信公众号文章
前面讲解了代理池的维护和付费代理的相关使用方法,接下来我们进行一下实战演练,利用代理来爬取微信公众号的文章. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...
- WEB请求处理二:Nginx请求反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- WEB 请求处理二:Nginx 请求 反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- 使用爬虫代理错误问题解决方案
在如今的互联网时代,网络爬虫成了许多企业的重要岗位之一.当然在数据采集中会遇到各种问题,例如限制IP,出现访问验证码等.这种时候就需要各种反爬策略和使用HTTP代理去解决问题.在爬虫用在使用代理的时候 ...
最新文章
- 独家 | 识别并解决数据质量问题的数据科学家指南
- FastJson乱序问题
- [原创]java WEB学习笔记02:javaWeb开发的目录结构
- java中注解的解析_【Java】中的注解与注解解析器
- 电感检测_三、电感线圈的识别与检测(二)
- C# 列出进程以及详细信息
- html5 手机拍视频滤镜,用canvas实现图片滤镜效果附演示_html5教程技巧
- 电脑上交计算机作业怎么打开,上海交大计算机第一次作业-20210711011739.docx-原创力文档...
- 用run as以管理员权限运行脚本的方法
- vant部署_记录mpvue+vant-weapp的使用(一):安装配置使用,引入vant-weapp
- 【bzoj1370】[Baltic2003]Gang团伙 并查集
- 疯狂ios之cocos2d中的文本
- foreman容器化部署
- 设计模式(八)桥接模式
- SpringBoot中SpringMVC 整合启动嵌入式Tomcat 原理及源码解析
- OPPO Reno ACE的刷机
- 台湾瑞昱Realtek RTL8153-VC-CG USB3.0 to lan简介
- 解决Minimum supported Gradle version is 4.6. Current version is
- 本科生晋升GM记录 Kaggle比赛进阶技巧分享
- 发动机和变速箱工作原理
热门文章
- mysql的锁机制(读锁,写锁,表锁,行锁,悲观锁,乐观锁,间隙锁)
- 解决打开S7-PLCSIM Advanced V3.0报错NetGroup Packet Filter Driver (NPF)
- 手机可以模拟NFC卡片吗?项目中如何解决不能模拟NFC Tag UID的问题
- 使用基因组圈图表示变异在基因组内位置|R circlize包
- 海南计算机报名系统入口湖南,海南全国教师管理信息系统自助子系统登录入口...
- 系统学习----Linux网络管理
- 关于spring的aop的xml和注解操作
- javaMail发送邮件读取流中的数据并作为作为附件发送邮件
- 1转自 饮水思源 bbs.sjtu.edu.cn·[FROM: 202.120.25.97]
- 图论练习题(存起来练)