python3.7与pyspider的坑

网络上安装pyspider的坑有很多,但都不如我今天的大,困扰了我几天,终于解决了

Traceback (most recent call last):
  File "/ffk_learn/software/Python-3.7.0/ffk_py/bin/pyspider", line 7, in <module>
    from pyspider.run import main
  File "/ffk_learn/software/Python-3.7.0/ffk_py/lib/python3.7/site-packages/pyspider/run.py", line 231
    async=True, get_object=False, no_input=False):
        ^
SyntaxError: invalid syntax

一直抱着个错误,后来才发现,是因为async从python3.7开始不能用作参数名了,将所有脚本里面的async换一个名字即可,当然最好还是要pyspider的大佬更新下pyspider.脚本不多,一共两个脚本

1 ffk_py/lib/python3.7/site-packages/pyspider/run.py

2 ffk_py/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py 

ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator

安装完爬虫框架pyspider之后,使用pyspider all 命令,输入http://localhost:5000运行就出现上述错误

原因是因为WsgiDAV发布了版本 pre-release 3.x。

解决方法如下:

在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行即可。

'domaincontroller': NeedAuthController(app),

修改为:

'http_authenticator':{
        'HTTPAuthenticator':NeedAuthController(app),
    },

然后再执行pyspider all就能够通过http://localhost:5000打开页面了。

扫描二维码关注公众号,回复: 6226845 查看本文章

猜你喜欢

转载自www.cnblogs.com/liugp/p/10859237.html