执行命令:
pip3installpyspider
Windows下可能会出现这样的错误提示:Command"pythonsetup.pyegg_info"failedwitherrorcode1in/tmp/pip-build-vXo1W3/pycurl
这个是PyCurl安装错误,一般会出现在Windows下,需要安装PyCurl库,下载链接为:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl,找到对应Python版本然后下载相应的Wheel文件。
如Windows64位,Python3.6则下载pycurl?7.43.0?cp36?cp36m?win_amd64.whl,随后用Pip安装即可,命令如下:
pip3installpycurl?7.43.0?cp37?cp37m?win_amd64.whl
这里的pycurl-7.43.0-cp37m-win_amd64.whl是下载下来的文件路径
执行命令验证:
pyspiderall
出现错误:SyntaxError:invalidsyntax
原因是:python3.7中async是关键字
解决办法:将这个关键字替换掉。主要有两个文件:~\Lib\site-packages\pyspider\run.py和~\Lib\site-packages\pyspider\fetcher\tornado_fetcher.py
在替换是要注意:只替换名为async的变量或参数名。不要图省事选择“全部替换”
替换保存后再次运行“pyspiderall”
这时spider只启动到“schedulerxmlrpclisteningon127.0.0.1:23333”就停止了
继续替换PYTHON_HOME\Lib\site-packages\pyspider\webui\app.py中的async
再次启动
又报错:ValueError:Invalidconfiguration:
-Deprecatedoption‘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),
},
保存文件
再次运行,成功
这是访问http://localhost:5000就能打开pyspider的图形界面了
参考:https://blog.csdn.net/weixin_41698864/article/details/89444910
https://germey.gitbooks.io/python3webspider/content/1.8.1-PySpider%E7%9A%84%E5%AE%89%E8%A3%85.html
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54814.shtml