当前位置 : 主页 > 编程语言 > python >

python 运行pyspider在cmd中报错的处理方法

来源:互联网 收集:自由互联 发布时间:2021-06-25
python3.7启动pyspider时报错的问题 2019年04月22日 08:40:42 沙雨 阅读数 490 更多 分类专栏: spider 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声

python3.7启动pyspider时报错的问题

2019年04月22日 08:40:42 沙雨 阅读数 490 分类专栏: spider   版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_41698864/article/details/89444910
  • 关键字问题
    最后一句出现
    File “D:\installed\Python\Lib\site-packages\pyspider\run.py”, line 231
    async=True, get_object=False, no_input=False):
    SyntaxError: invalid syntax
    原因是:python3.7中async是关键字
    解决办法是将这个关键字替换掉。主要有两个文件:D:\installed\Python\Lib\site-packages\pyspider\run.py 和 D:\installed\Python\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py
    在替换是要注意:只替换名为async 的变量或参数名。不要图省事选择“全部替换”
    替换保存后再次运行“pyspider all”
    这时spider只启动到“scheduler xmlrpc listening on 127.0.0.1:23333”就停止了
    继续替换PYTHON_HOME\Lib\site-packages\pyspider\webui\app.py中的async
    再次启动
    又报错:ValueError: Invalid configuration:
    -Deprecated option ‘domaincontroller’: use ‘http_authenticator.domain_controller’ instead.
    解决办法:打开PYTHON_HOME\Lib\site-packages\pyspider\webui\webdav.py文件,修改第209行
    把 ‘domaincontroller’: NeedAuthController(app)
    修改为:
    ‘http_authenticator’:{
    ‘HTTPAuthenticator’:NeedAuthController(app),
    },
    保存文件
    再次运行,成功
  • 这是我遇到的,然后网上居然没有特别明显的解决,费劲千辛万苦才查到,这是WsgiDAV发布了版本 pre-release 3.x导致的,所以只要把版本降下来就好了。
    将wsgidav替换为2.4.1
    •# python -m pip install wsgidav==2.4.1
    直接pip install wsgidav-2.4.1就会卸载3.0.0装2.4.1
    然后运行 pyspider all 发现居然可以了。上一张成功的图片。

    然后很欢快的打开浏览器输入:localhost:5000
      6、如果是在windows环境下,系统会提示 FutureWarning: timeout is not supported on your platform. warnings.warn(“timeout is not supported on your platform.”, FutureWarning),忽略即可。

  • pyspider_安装与启动

     

    pyspider

    • 官方文档:http://docs.pyspider.org/en/latest/Quickstart/
    1、安装
    • (1)pip install pycurl
    • (2)pip install pyspider
    2、pyspider命令启动错误,出现"SyntaxError:invalid syntax"报错。
    • (1) 原因:async在Python 3.7中已成为关键字,
    • (2) 解决方法:
    A、打开pyspider文件夹(在python路径下python位置\Lib\site-packages\pyspider)
    B、修改下列python文件中的async为shark(全部替换),pycharm中用ctrl+r快捷键可以进行替换。
    	run.py
    	fetcher\tornado_fetcher.py
    	webui\app.py

    A、打开pyspider文件夹(在python路径下python位置\Lib\site-packages\pyspider)
    B、修改下列python文件中的async为shark(全部替换),pycharm中用ctrl+r快捷键可以进行替换。
    run.py
    fetcher\tornado_fetcher.py
    webui\app.py

    3、pyspider命令启动错误,出现"ValueError: Invalid configuration"报错。
    • (1)原因:WsgiDAV发布了版本 pre-release 3.x导致
    • (2)解决方法:
    python -m pip install wsgidav==2.4.1
    • 1
    4、pyspider命令启动错误,出现"phantomjs"报错。
    • (1)原因:未安装phantomjs
    • (2)解决方法:
    A、下载phantomjs安装: 下载地址:https://phantomjs.org/download.html
    B、一路next安装,将安装路径:D:\Software\phantomjs-2.1.1\bin添加到环境变量path里面。
    C、打开并找到bin文件夹里的 phantomjs.exe,点击运行;出现phantomjs>即安装成功。
    • 1
    • 2
    • 3
    5、命令窗口输入pyspider;浏览器输入:http://localhost:5000/
    • (1)命令窗口输入pyspider,出现如下界面,即??。
    • (2)浏览器输入:http://localhost:5000/ ,出现如下界面,即??。
网友评论