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

PySpider 是支持 JavaScript 渲染的,而这个过程是依赖于 PhantomJS 的,所以还需要安装 PhantomJS,所以在安装之前先安装 PhantomJS

前往这里 下载 ,我这里下载的版本为 phantomjs-2.1.1-macosx.zip

解压当前文件 ,进入 bin 目录,会发现一个 phantomjs ,然后移动该文件到 /usr/bin 目录,

sudo mv phantomjs /usr/bin

配置环境变量

export PATH="$PATH:/usr/local/phantomjs"
source ~/.profile

接着安装 PySpider

pip3 install pyspider

发现报错......

file

然后我找到的解决方案是:

export PYCURL_SSL_LIBRARY=openssl

接着再次运行 pip3 install pyspider 就没问题了

启动 PySpider

pyspider all

发现又报错了

file

网上搜索一番,最后结论就是 Python3.7 以后 async 是系统保留关键字,不允许使用,解决方式:要么降低 Python 版本,或者根据提示将关键字 async 进行修改

https://github.com/binux/pyspider/issues/817

解决步骤: 按照提示修改 /usr/local/lib/python3.7/site-packages/pyspider/run.py 文件所有 asyncasync_ 接着再次启动

file

再次修改所有的 asyncasync_

file

再次修改完 就可以启动了,但是出现 Error: Could not create web server listening on port 25555

file

然后搜索一番说是端口被占用了,kill 掉就OK了, 参考链接 以下是 Mac 上查看端口使用的方法

lsof -i:3110 

file

接着kill 掉就好了 kill 664

file

最后打开浏览器 看下效果

file

以上就是 Mac 安装 PySpider 的曲折过程,基于 Python3.7

暂无回复
0 / 180
网站公告

LaravelCode 正式上线啦

--->>>体验新站

今日诗词
正在加载今日诗词....
标签云
PHP Laravel API 随想 Node.js Linux Yii2.0 Redis 队列 JavaScript Vue Java MySQL 微信小程序 Python Hyperf 转载