前言

最近发现许多小伙伴在用 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. hdu6076 Security Check 分类dp 思维

    /** 题目:hdu6076 Security Check 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6076 题意:有两个队列在排队,每一次警察可以检 ...

  2. C++ 抽象类一(多继承与赋值兼容性原则)

    //多继承与赋值兼容性原则 #include<iostream> using namespace std; class Point{ public: Point(){ a = ; b = ...

  3. 关于Jquery Ajax的用法

    今天简单描述一下Jquery Ajax的用法,和我在使用过程中的一些看法,仅供自己娱乐和大家参考值之用! Jquery Ajax的重要性不言而喻,只从Jquery面世之后,终于解救了像我这种既做前台又 ...

  4. 【Debian】install

    n年前的报废台式机实在不能忍受xp的速度,果断装Linux近期家里的小本装了Ubuntu14.04 ,实在不习惯最新的图形界面.装个debian试试吧. 1.专门弄一个空白分区2.官网下载debian ...

  5. 【Python】IDLE清屏

    上网搜,没搜到可用的快捷键.但看到一个通过打印空内容来清屏的方法,smart ef clear(): for i in range(60): print

  6. MAC必装神器

    1. SizeUp 置中窗口的设置: Relative to Screen Size 宽80% 高80% 快捷键的设置 ctr+option+cmd+, 全窗口 ctr+option+cmd+. 置中 ...

  7. 第十五篇:流迭代器 + 算法灵活控制IO流

    前言 标准算法配合迭代器使用太美妙了,使我们对容器(数据)的处理更加得心应手.那么,能不能对IO流也使用标准算法呢?有人认为不能,他们说因为IO流不是容器,没有迭代器,故无法使用标准算法.他们错了,错 ...

  8. Office Developer Tools for Visual Studio 2012现在可用了

    [原文发表地址]   Now Available: Office Developer Tools for Visual Studio 2012 正如我以前写过的,我们正在为构建下一代Office和 S ...

  9. iOS-UISearchBar去掉边线

    解决办法: UISearchBar 去除边线 属性search.searchBarStyle = minimal 即可

  10. VS 忽略文件 Git 向远程添加问题

    背景介绍: 我团队有个叫李恕华的技术大牛,最近在研究redis 然后向一个叫做MTS的项目中引入了redis,感觉很吊 问题: vs2017+git管理代码 其他人分支里一直提示找不到redis文件 ...