• 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关键字替换成别的名称

    pythonlibsite-packagespyspider un.py
    pythonlibsite-packagespyspiderfetcher ornado_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 问题解决!

  • 相关阅读:
    条件编译中的基本语法
    UITableView中headerView视察滚动的简单实现
    CocoaPods使用简单回顾
    CocoaPods第三方类库管理工具的简单使用
    Xcode中release和debug模式
    转:关于LazyTableImage
    汉字与UTF-8编码之间的转换
    结构体与字符串之间的转换
    MFC中小笔记(二)
    升级 WIN8.1 VC6.0和 Visual Assist 的使用问题
  • 原文地址:https://www.cnblogs.com/roluodev/p/11780669.html
Copyright © 2020-2023  润新知