pyspider 安装及问题处理(pyspider一直卡在result_worker starting的解决办法)

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

发布了39 篇原创文章 · 获赞 32 · 访问量 5781

猜你喜欢

转载自blog.csdn.net/weixin_39190382/article/details/104923254