安装爬虫框架pyspider踩坑记

本文详细记录了在Deepin环境下安装pyspider爬虫框架的过程,包括解决PhantomJS安装、依赖库缺失及启动错误等问题,最终实现pyspider的成功部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于博主学过一段时间的Python爬虫,而在前不久又刚刚重装了win10系统,所以最近忙着也是在虚拟机里
配置爬虫所需的环境,今天在安装pyspider框架时,遇见了之前未遇见的麻烦,折腾了一两个小时才解决。

pyspider 介绍

pyspider 是国人 binux 编写的强大的网络爬虫框架,它带有强大的 WebUI 、脚本编辑器、任务监
控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,另外还支持 JavaScript
渲染页面的爬取,使用起来非常方便。

 
正文

环境:deepin15.10.1(vmware15),pycharm
目的:安装pyspider爬虫框架
 

一、安装PhantomJS
pyspider 是支持 JavaScript 渲染的,而这个过程是依赖于 PhantomJS 的,所以还需要安装 PhantomJS。
首先在PhantomJS官网下载对应平台的安装包,下载完成后,将PhantomJS可执行文件所在的路径配置到环境变量里。
在博主的电脑里(Linux),首先要进入PhantomJS安装后的bin目录下,然后在终端输入命令sudo mv phantomjs /usr/bin
配置完成后,可在终端测试一下,输入命令:phantonjs,若可以如下图所示,进入phantomjs命令行,则代表phantomjs安装成功。
在这里插入图片描述
二、安装pyspider
常规的方法是用pip安装,命令如下:pip3 install pyspider
1、但是,第一个坑出现了,出现了如下错误Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-DuBGJ5/pycurl
百度了一下,大概知道应该是pycurl的问题:pyspider 依赖 pycurl 这个库,而 pycurl 要求系统中存在相对应的库。于是按照教程所述,输入命令:sudo apt-get install libcurl4-gnutls-dev
此处参考的资料地址:https://imlonghao.com/19.html

2、第一个坑并未解决,还是有些库没有安装好,于是博主又参考了一些博客,按照博客所述,安装了不少库。
首先,更新pip,输入命令:python -m pip install -U pip
然后,安装依赖包,输入一下命令:

 sudo apt-get install python-dev 
 sudo apt-get install python-distribute
 sudo apt-get install libcurl4-openssl-dev 
 sudo apt-get install libxml2-dev 
 sudo apt-get install libxslt1-dev 
 sudo apt-get install python-lxml

此处参考的资料地址:https://blog.youkuaiyun.com/weixin_43796042/article/details/84503475

3、第二个坑,启动pyspider时,Could not create web server listening on port 25555 报错
百度了一些资料,发现时phantomjs在后台已经启动,需要杀死这个进程,方法如下:
首先输入命令:netstat -atunlp,这条命令可以查看系统当前系统网络状态信息,包括端口,连接情况等。接下来找到phantomjs 进程,如下图所示:
在这里插入图片描述
输入命令:kill -s 9 5770便可杀死phantomjs进程。
此处参考的资料地址:
https://www.jianshu.com/p/9f2fb414f783
https://blog.youkuaiyun.com/FK103/article/details/79876011

4、在运行pyspider时,还出现了一些问题,但错误处不方便截图和复制错误代码,只好把最关键的错误信息截图了
在这里插入图片描述
这个问题,博主在查阅资料后得知这是WsgiDAV发布了版本 pre-release 3.x导致的。所以博主按照查阅到的资料,做了两项操作。
第一:输入命令:python -m pip install wsgidav==2.4.1 将wsgidav替换为2.4.1;
第二:在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行。
在博主的环境中,webdav.py文件的路径为:

/home/lintx/PycharmProjects/WebSpider/venv/lib/python3.6/site-packages/pyspider/webui/webdav.py

在webdav.py文件里,把'domaincontroller': NeedAuthController(app),修改为

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

即下图所示:
在这里插入图片描述
此处参考的资料地址:
https://blog.youkuaiyun.com/SiHann/article/details/88239892
https://blog.youkuaiyun.com/qq_37253540/article/details/88196994

 
到此为止,在博主的环境下,pyspider算是成功安装好了,博主可谓是踩遍了各个坑,历经艰辛才完成安装。
 
三、启动pyspider
输入命令:pyspider all。这时 pyspider 的 Web 服务就会在本地 5000 端口运行 。
直接在浏览器中打开http://localhost:5000/即可进入 pyspider 的 WebUI 管理页面,如下图所示:
在这里插入图片描述
至此,pyspider的框架已经安装完毕并可以正常运行了。

 

Lin丶TX
2019.6.4 00.10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值