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
发现报错......
然后我找到的解决方案是:
export PYCURL_SSL_LIBRARY=openssl
接着再次运行 pip3 install pyspider
就没问题了
启动 PySpider
pyspider all
发现又报错了
网上搜索一番,最后结论就是 Python3.7 以后 async 是系统保留关键字,不允许使用,解决方式:要么降低 Python 版本,或者根据提示将关键字 async 进行修改
https://github.com/binux/pyspider/issues/817
解决步骤: 按照提示修改 /usr/local/lib/python3.7/site-packages/pyspider/run.py
文件所有 async
为 async_
接着再次启动
再次修改所有的 async
为 async_
再次修改完 就可以启动了,但是出现 Error: Could not create web server listening on port 25555
然后搜索一番说是端口被占用了,kill 掉就OK了, 参考链接 以下是 Mac 上查看端口使用的方法
lsof -i:3110
接着kill 掉就好了 kill 664
最后打开浏览器 看下效果
以上就是 Mac 安装 PySpider 的曲折过程,基于 Python3.7