前言

最近发现许多小伙伴在用 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 分支。

因为包还没有发行,所以我们就手动来更新。

PySpider

可以点击右侧下载 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错误的解决方法(转)的更多相关文章

  1. PySpider HTTP 599: SSL certificate problem错误的解决方法

    在用 PySpider 爬取 https 开头的网站的时候遇到了 HTTP 599: SSL certificate problem: self signed certificate in certi ...

  2. PySpider 框架爬虫错误 HTTP 599: SSL certificate problem: unable to get local issuer certificate解决方案

    首先pyspider all启动pyspider的所有服务,然后访问http://localhost:5000创建一个爬虫任务:taobaomm,点开任务链接编辑http://localhost:50 ...

  3. HTTP 599: SSL certificate problem: unable to get local issuer certificate错误

    自己在用 PySpider 框架爬虫运行代码后时出现 HTTP 599: SSL certificate problem: unable to get local issuer certificate ...

  4. Git发生SSL certificate problem: certificate ha错误的解决方法

    这两天,不知道为什么,用Git提交代码到服务器时,总出现SSL certificate problem: unable to get local issuer certificate while ac ...

  5. Exception: HTTP 599: SSL certificate problem: unable to get local issuer certificate 解决办法

    使用Pyspider中报此错误. 错误原因: 这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误. 解决方法: 使用self.crawl(url, callback=self.i ...

  6. Git发生SSL certificate problem: certificate ha错误

    这两天,不知道为什么,用Git提交代码到服务器时,总出现SSL certificate problem: unable to get local issuer certificate while ac ...

  7. curl: (60) SSL certificate problem: unable to get local issuer certificate 错误

    今天同事做微信管理的项目,请求接口返回如下错误SSL certificate problem: unable to get local issuer certificate. 此问题的出现是由于没有配 ...

  8. git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法

    我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误: fatal: unable to acce ...

  9. 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 ...

随机推荐

  1. Swift基础--ijkplayer编译

    这篇与Swift基本上没有什么关系,只是之后会用到,这次编译是使用Mac编译IOS版本号的.以下是编译流程,最后是整个项目的下载地址.由于下载太慢了. 1.下载源代码 git clone https: ...

  2. C++Primer学习笔记《2》

    数组是一种复合类型,由类型名+数组名+维度组成. 数组定义中的类型能够是C++基本内置类型.也能够是类类型的.数组元素的类型能够是除了引用类型以外的其它不论什么类型.没有全部的元素都是引用的数组. 数 ...

  3. bjposition

    背景位置:background-origin:content-box;//"border-box", "padding-box", "content- ...

  4. 发送json-简单的传参查询和简单的sql查询

    简单的传参查询并转化为json using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  5. Web安全测试(一)-手工安全测试方法&修改建议

    常见问题 1.XSS(CrossSite Script)跨站脚本攻击 XSS(CrossSite Script)跨站脚本攻击.它指的是恶意攻击者往Web 页面里插入恶意 html代码,当用户浏览该页之 ...

  6. jsp有哪些内置对象?作用分别是什么?(至少三个)

    jsp有哪些内置对象?作用分别是什么?(至少三个) 解答: 1)request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, head ...

  7. 【BZOJ】3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3394 裸的floyd.. #include <cstdio> #include < ...

  8. Openstack(Kilo)安装系列之Keystone(五)

    Create OpenStack client environment scripts To create the scripts Create client environment scripts ...

  9. 【Ubuntu】Windows硬盘安装Ubuntu14.04

    参考:http://diybbs.zol.com.cn/1/33925_1981.html  http://www.cnblogs.com/allenjin/archive/2011/11/26/22 ...

  10. Jquery实现Bootstrap树形列表

    http://bookshadow.com/weblog/2014/05/17/jquery-bootstrap-tree-list/