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 问题解决!

pyspider 安装使用过程的一些坑的更多相关文章

  1. 虚拟机安装Linux过程和踩坑

    由于想学习node,服务器端大都使用Linux系统,所以就想着在笔记本上弄个虚拟机,装上Linux,使用xshell在window上操作也方便,也借此来熟悉一下Linux,接下来就解释下安装的步骤和遇 ...

  2. 记安装AWVS14过程踩的坑

    由于之前的AWVS14用着用着无法扫描了,一扫就是失败,一气之下就重装系统了.重装系统后发现安装还是不行,折腾了好久,终于找到方法了. 安装acunetix_14.1.210324124.exe 没啥 ...

  3. flutter 安装过程遇到的坑

    Flutter是一个移动应用程序的软件开发工具包(SDK),用一个代码库构建高性能.高保真的iOS和Android应用程序.目标是使开发人员能够为Android和iOS提供自然的高质量的应用,在滚动行 ...

  4. 在WIN SERVER 2016上安装DOCKER(带过坑)

    目录 1    概要    1 1.1    主要优势    1 2    在Windows Server上部署Docker    2 概要 博客使用Word发博,发布后,排版会出现很多问题,敬请谅解 ...

  5. Cloudera Manager 安装集群遇到的坑

    Cloudera Manager 安装集群遇到的坑 多次安装集群,但每次都不能顺利,都会遇到很多很多的坑,今天就过去踩过的坑简单的总结一下,希望已经踩了的和正在踩的童鞋能够借鉴一下,希望对你们能有所帮 ...

  6. 2018-8-29安装Jitamin过程实录

    2018-8-29安装Jitamin过程实录 新建 模板 小书匠 欢迎走进zozo的学习之旅. 简介 安装 nginx + php + mysql 安装composer 安装Jitamin 简介 在考 ...

  7. Torch-RNN运行过程中的坑 [0](一些基础概念)

    0.Lua & LuaJIT简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴 ...

  8. Apache Web服务器 安装步骤 和遇到的坑

    Apache Web服务器是开发放源码的网页服务器,我们看到的网页都是上传到服务器然后呈现给用户的. 在开发中,在自己的电脑上安装Apache Web服务器,你的电脑也会成为服务器,配置文件,访问你的 ...

  9. 那些最全面的Windows10安装pytorch踩过的坑以及如何应用

    那些最全面的Windows10安装pytorch踩过的坑以及如何应用 一.pytorch简介 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch.它是一个基 ...

随机推荐

  1. 【NS2】NS2 教學手冊(转载)

    之前做毕设的时候搜索NS2的相关资料,发现这个里面涵盖很广,特此收藏,感谢原作者的辛勤劳作. NS2 教學手冊 ( NS2 Learning Guide) [快速連結區] My works  中文影音 ...

  2. init()方法必须使用super.init(config)的原因--Servlet

    原 因: 一个servlet在它的init()方法中传递它的ServletConfig实例,在其他的方法中却不可以.当一个servlet在 init()方法外需要调用config对象时就会产生问题.使 ...

  3. 在 VirtualBox 安装 Centos Docker-CE

    在 VirtualBox 安装 Centos Docker-CE 因为需要测试环境,安装了一个 CentosOS 7. 安装结束后发现没有 IP,开始以为是因为 NAT 设置问题. 把网络设置为桥联, ...

  4. SDUT-3347_数据结构实验之数组三:快速转置

    数据结构实验之数组三:快速转置 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 转置运算是一种最简单的矩阵运算,对于一个 ...

  5. 项目中遇到的undo表空间不足的替换

    1.查找数据库的UNDO表空间名                                      select name from v$tablespace;                 ...

  6. 【[Offer收割]编程练习赛9 B】水陆距离

    [题目链接]:http://hihocoder.com/problemset/problem/1478 [题意] [题解] 一开始把所有的水域的位置都加入到队列中去; 然后跑一个bfs. 第一次到达的 ...

  7. thinkphp3.2配置redis缓存和文件缓存

    如果把一些常用但又不容易变的数据存缓存,而不是每次查数据库,这样能很大减轻数据库压力 最近由于项目需要,就尝试了一把redis,但是后面又用了tp3.2的文件缓存,直接进入主题: 在config.ph ...

  8. phpstorm2017破解版 2017.3.4 官网中文版

    phpstorm2017破解版是一款强大的PHP编程工具,新云软件园提供phpstorm激活下载,最新版PhpStorm 2017正式版改进了PHP 7支持,改进代码完成功能,PhpStorm 是最好 ...

  9. Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值

    <?php namespace App\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminat ...

  10. python 动态生成变量名以及动态获取变量的变量名

    前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...