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

python 运行pyspider在cmd中报错的处理方法,第1张

概述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 关键字 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 官方文档:@L_403_6@ 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.HTMLB、一路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/ ,出现如下界面,即??。 总结

以上是内存溢出为你收集整理的python 运行pyspider在cmd中报错的处理方法全部内容,希望文章能够帮你解决python 运行pyspider在cmd中报错的处理方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1190993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存