pyspider 安装使用过程的一些坑
1、没有正确安装对应版本的pycurl
原因分析:
PyCurl 安装错误,需要安装 PyCurl 库(PyCurl 是一个Python接口,
是多协议文件传输库的 libcurl。类似于urllib Python模块,PyCurl 可以用来从Python程序获取 URL 所标识的对象)
解决方法:
访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl ,下载对应的 wheel 文件,比如我是 Windows 10
64位,Python 3.6.5,则下载 pycurl‑7.43.0.3‑cp36‑cp36m‑win_amd64.whl,
然后使用命令 pip install pycurl‑7.43.0.3‑cp36‑cp36m‑win_amd64.whl 进行安装即可
2、启动pyspider提示语法错误
原因分析:
根据提示发现是async关键字错误,py3.7以上async是关键字
解决方法:
根据提示将对应的.py文件中的async关键字替换成别的名称
python\lib\site-packages\pyspider\run.py
python\lib\site-packages\pyspider\fetcher\tornado_fetcher.py
3、提示配置错误
原因分析:
问题可能是wsgidav的版本过高问题导致,降低一下wsgidav的版本,更适配兼容python
sudo python -m pip install wsgidav==2.4.1
解决方法:
修改pyspider目录下webui的webdav.py 第209行代码
'domaincontroller': NeedAuthController(app),
改为:
'http_authenticator': {'HTTPAuthenticator': NeedAuthController(app)},
4、正确启动pyspider后,请求网站提示599 SSL错误
解决方法:
出现上述问题,可以在抓取函数的crawl 方法中加入忽略证书验证,validate_cert=False
即:self.crawl('__START_URL__', callback=self.index_page, validate_cert=False)
5、和四类似的SSL问题
Pyspider - HTTP 599: SSL certificate problem: unable to get local issuer certificate
原因分析:
显然已经指明了报错的原因是没有加SSL证书验证。但是即使使用validate_cert=False也会无法匹配到validate_cert参数,原因是 PySpider 官方发布版本的问题。目前的最新发行版是 0.3.6,不过 GitHub 最新版本目前是 0.4.0。所以需要手动下载更新。
解决方法:
一、GitHub下载最新的pyspider,下面链接
https://github.com/binux/pyspider
二、下载后解压,进入文件夹执行以下命令
打开cmd,cd到解压后的文件夹中,执行以下命令:
python setup.py install
三、重新启动pyspider 问题解决!
最新文章
- A couple of notes about .NET Framework 4.6 setup behaviors
- svn本地客户端和eclipse插件对应不上解决
- 那晚征服的一道js经典的面试题
- linux apache 自动监护脚本
- oracle 查询谁在用undo
- union与union all的区别
- CentOS 最小化安装后安装桌面
- 导出excel的简单方法
- rails跑通第一个demo
- JS给元素增加className
- c语言学习基础:[1]开发工具介绍
- JavaScript中的数值转换
- 自动化构建工具—gulp的简单配置
- bash下常用快捷键
- [Abp 源码分析]七、仓储与 Entity Framework Core
- Mac下如何生成SSH Key-使用GitLab
- Bootstraptable源码
- python2和3使用pip时的问题
- Redis配置文件介绍
- Android studio安装配置常见问题及其解决方案