every blog every motto: a bold attempt is half success
0. 前言
关于pyspider的安装及遇到坑的解决。
个人感觉pyspider不是太稳定,一个简单的安装都要折腾好久,而且binux好像很久没更新了。废话不多说,下面进入正文。
说明: 下面好像漏了一步,想不起来了,有空再补上吧。
1. 正文
1. 前期准备
为了版本兼容问题需要用anconda 创建虚拟环境,方便管理。
1.1 虚拟环境
1.1.1 创建虚拟环境
注: 因为关键字的原因,对于python3.7,要修改关键字,所以这里直接用python3.6。关于3.7可参考文献 [1]
conda create -n pys python=3.6
1.1.2 激活虚拟环境(延伸) [2]
activate pys
1.1.3 删除虚拟环境(延申)
conda remove -n pys --all
1.1.4 查看已有虚拟环境(延申)
conda env list
1.2 删除windows defender
不删除也行,但是好像要关闭它。因为我已有安全软件(火绒),一方面,就不需要defender,另一方面,defender 不好关闭,有时关闭了,好像还会起作用。索性就删除了。
Warning: 一定要确保有安全软件,再删除,别盲目!
具体可参考文献[3]
2. 正式开始
2.1 安装 pyspider
目前(2020.3.17)版本为0.3.10
pip install pyspider
2.2 配置PHantomJS
下载地址
,下载完以后配置到python的同级目录下,如下图(我这是时在虚拟环境中)
2.2 wsgidav版本问题
a. 第一种方法:修改代码[5]
找到安装包pys->Lib->site-packages->pyspider->webui->webdav.py。如下图:
修改209行代码,如下:
'domaincontroller': NeedAuthController(app),
修改为:
'http_authenticator':{
'HTTPAuthenticator':NeedAuthController(app),
},
a. 第二种方法:降低版本
因为3.0的版本不兼容,所以替换为2.4.1[4]
pip uninstall wsgidav
pip install wsgidav==2.4.1
2.3 验证
在命令行输入如下代码:
一定要退出重新进入刚才的终端!!!,否则,会一直等待 result_worker starting…!!!
注: 如果创建了虚拟环境,要激活虚拟环境,后输入
pyspider
正确输出如下:
在浏览器输入http://localhost:5000/
2.4 问题
如果一直卡在result_worker starting…,如下图所示。
-------------------------------------------------------第一个终端
可以新打开一个终端(这个终端暂时不关),再依次输入pyspider,输入完成后再关闭第一个终端。
-------------------------------------------------------第二个终端
运行后:
参考文献
[1] https://segmentfault.com/q/1010000015188569/a-1020000015213575
[2] https://blog.csdn.net/weixin_39190382/article/details/104113028
[3] http://www.winwin7.com/JC/16052.html
[4] https://blog.csdn.net/weixin_33842328/article/details/94538000
[5] https://blog.csdn.net/qq_37253540/article/details/88196994