zoukankan      html  css  js  c++  java
  • 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 问题解决!

  • 相关阅读:
    Android状态栏和导航栏
    ScrollView小记
    iOS本地推送
    java-集合框架-泛型1
    java-集合框架4---foreach使用--for的增强使用
    java-集合框架3-迭代器的使用
    JAVA-集合框架2
    Number 数据类型转化 NaN 函数isNaN
    数据类型分类
    VScode 插件推荐安装
  • 原文地址:https://www.cnblogs.com/roluodev/p/11780669.html
Copyright © 2011-2022 走看看