PySpider HTTP 599: SSL certificate problem错误的解决方法(转)
前言
最近发现许多小伙伴在用 PySpider 爬取 https 开头的网站的时候遇到了 HTTP 599: SSL certificate problem: self signed certificate in certificate chain 的错误。
经过一番排查,解决方案总结如下
错误原因
这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误。
报错如下
解决方案
最简单的解决方法是:
在 crawl 方法中加入忽略证书验证的参数,validate_cert=False,即
1
|
self.crawl(url,callback=method_name,validate_cert=False)
|
以上方法基本可以解决问题。
如果出现了
1
|
[E16032914:00:56base_handler:194]crawl()got unexpected keyword argument:['validate_cert']
|
的错误,即无法匹配到 validate_cert 参
数,那么则是 PySpider 本身的问题。
可以更新到最新版本,即更新到 master 分支。
因为包还没有发行,所以我们就手动来更新。
https://cuiqingcai.com/2703.html
转自静觅
前言
最近发现许多小伙伴在用 PySpider 爬取 https 开头的网站的时候遇到了 HTTP 599: SSL certificate problem: self signed certificate in certificate chain 的错误。
经过一番排查,解决方案总结如下
错误原因
这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误。
报错如下
解决方案
最简单的解决方法是:
在 crawl 方法中加入忽略证书验证的参数,validate_cert=False,即
1
|
self.crawl(url,callback=method_name,validate_cert=False)
|
以上方法基本可以解决问题。
如果出现了
1
|
[E16032914:00:56base_handler:194]crawl()got unexpected keyword argument:['validate_cert']
|
的错误,即无法匹配到 validate_cert 参数,那么则是 PySpider 本身的问题。
目前的最新发行版是 0.3.6(2016/3/29),不过 GitHub 最新版本目前是 0.4.0
可以更新到最新版本,即更新到 master 分支。
因为包还没有发行,所以我们就手动来更新。
可以点击右侧下载 zip 包。
Mac OS X
以 Mac OS X为例,找到 pyspider 库所在的路径。我的是在
1
|
/Library/Python/2.7/site-packages/pyspider
|
打开之后发现如下的结构。
把刚才的包下载下来之后,解压缩,打开文件夹,发现目录结构是这样的。
然后进入 pyspider 文件夹,观察一下,发现和我们之前安装的 pyspider 目录结构是一样的,没错,就是它了!
嗯,把所有的文件都更新到 site-packages/pyspider 目录中。
可以手动拖动替换,可以使用命令
1
2
|
cd pyspider
sudo python setup.py install
|
更新之后,然后重新启动 pyspider 。
1
|
pyspider all
|
再加入 validate_cert=False 参数,发现就不会出现刚才的问题了。
Linux
方法同上,pyspider 路径应该在
1
|
/usr/lib/python/site-packages/pyspider-0.3.6.egg/pyspider
|
替换一下下载下来的文件。
同样也可以使用命令
1
2
|
cd pyspider
sudo python setup.py install
|
Windows
方法同上,pyspider 路径应该在
1
|
python(python安装目录)/Lib/site-packages/pyspider
|
同样替换下载下来的文件即可。
命令同上
1
2
|
cd pyspider
sudo python setup.py install
|
结语
通过以上配置,我们解决了 PySpider 的 599 错误以及 validate_cert 参数不匹配的问题。
希望对大家有帮助!
转载请注明:静觅 » PySpider HTTP 599: SSL certificate problem错误的解决方法
PySpider HTTP 599: SSL certificate problem错误的解决方法(转)的更多相关文章
- PySpider HTTP 599: SSL certificate problem错误的解决方法
在用 PySpider 爬取 https 开头的网站的时候遇到了 HTTP 599: SSL certificate problem: self signed certificate in certi ...
- PySpider 框架爬虫错误 HTTP 599: SSL certificate problem: unable to get local issuer certificate解决方案
首先pyspider all启动pyspider的所有服务,然后访问http://localhost:5000创建一个爬虫任务:taobaomm,点开任务链接编辑http://localhost:50 ...
- HTTP 599: SSL certificate problem: unable to get local issuer certificate错误
自己在用 PySpider 框架爬虫运行代码后时出现 HTTP 599: SSL certificate problem: unable to get local issuer certificate ...
- Git发生SSL certificate problem: certificate ha错误的解决方法
这两天,不知道为什么,用Git提交代码到服务器时,总出现SSL certificate problem: unable to get local issuer certificate while ac ...
- Exception: HTTP 599: SSL certificate problem: unable to get local issuer certificate 解决办法
使用Pyspider中报此错误. 错误原因: 这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误. 解决方法: 使用self.crawl(url, callback=self.i ...
- Git发生SSL certificate problem: certificate ha错误
这两天,不知道为什么,用Git提交代码到服务器时,总出现SSL certificate problem: unable to get local issuer certificate while ac ...
- curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
今天同事做微信管理的项目,请求接口返回如下错误SSL certificate problem: unable to get local issuer certificate. 此问题的出现是由于没有配 ...
- git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法
我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误: fatal: unable to acce ...
- Git错误:unable to access 'https://git.voicegu.com/qa/qa.git/': SSL certificate problem: unable to get local issuer certificate
fatal: unable to access 'https://git.voicegu.com/qa/qa.git/': SSL certificate problem: unable to get ...
随机推荐
- Centos版本 32或64位查看命令
[root@root nginx]# uname -a Linux root -.el6.x86_64 # SMP Fri Nov :: UTC x86_64 x86_64 x86_64 GNU/Li ...
- html几种美丽的分割线
一.普通 1.<HR> 2.<HR align=center width=300 color=#987cb9 SIZE=1>align 线条位置(可选left.right.ce ...
- 【Mac + GitHub】之在另一台Mac电脑上下载GitHub的SSH链接报错
当输入git命令github项目时报错: ⇒ git clone git@github.com:/TX-Class.git Cloning into 'TX-Class'... Warning: Pe ...
- phpcms利用广告位实现轮播图调用
如果我们使用自带的广告轮播,那么就是失去原有的轮播样式,这里就教大家一种使用广告轮播,还能保留原有的轮播样式 1.需要找到广告位的模块位置 3 下载广告代码 https://files.cnblogs ...
- 要创建一个EJB,必须要至少编写哪些Java类和接口?
要创建一个EJB,必须要至少编写哪些Java类和接口? A. 定义远程(或业务)接口 B. 定义本地接口 C. 定义Bean接口 D. 编写Bean的实现 解答:ABC
- 【vijos】1769 网络的关键边(割边)
https://vijos.org/p/1769 啊,割边写挫了害得我交了那么多发... 本题多想想就出来了.. 首先求出割边,显然关键边就在割边上. 求完割边后,我们先从一个点dfs,维护A的点数和 ...
- 优秀的Android资源
今天,收藏了一下“优秀的Android资源”,以后有时间也学习学习. 一.开发工具 开发android第一步就是安装开发工具SDK,国内有一些机构和公司对些作了境像,这个网站作了详细统计列表:http ...
- 【Cloud Foundry】Cloud Foundry学习(四)——Service
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 Services:Cloud Foundry的Service模块从源码控制上看就 ...
- ChemDraw绘制DNA结构的技巧
对生物有一定了解的朋友都知道DNA是染色体的重要组成部分,DNA结构中包含重要的遗传物质,孩子的DNA来自父母DNA的组合,这就是为什么“一家人相像”的奥秘所在.ChemDraw虽然号称是化学结构绘制 ...
- gcc/g++实战之动态链接库与静态链接库编写
函数库一般分为静态库和动态库两种. 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了.其后缀名一般为”.a”. 动态库: 与之相反, ...