MAC 下搭建 PySpider

2019-07-16  本文已影响0人  一颗地梨子

最近在学习Python爬虫、想再自己本地MAC下搭建PySpider框架,经历了步步为坑的遭遇。。。

首先安装一下PySpider

我用的是Python3、pip3,所以我下载操作都是以Python3、pip3 为主。

先打开pyspider文档:http://docs.pyspider.org/en/latest/

安装命令:pip3 install pyspider

启动:pyspinder all

第一个坑来了:

其实这个问题就是pyspider中把async设置为关键字了,而async可是python3.7的关键字啊。所以解决办法就是 打开:/usr/local/lib/python3.7/site-packages/pyspider/run.py,将async改为:asyncs(建议使用编辑器批量修改,具体改为什么、随意)

改完之后、很多用户可能会直接启动:pyspider all  结果发现还是不行

不过这次不是关键字冲突了、这个是说: phantomjs 没找到、需要安装phantomjs。了解过pyspider的都知道、pyspider+phantomjs 配合是很好用的。接下来就安装phantomjs 

1).下载phantomjs(http://phantomjs.org/download.html)官网下载mac版本

2).下载后直接解压,将解压后的phantomjs-2.1.1-macosx文件夹放到你想放的目录下(随意、开心就好) 

然后执行:pwd   把路径复制一份、备用

3).添加全局变量,终端输入vim .bash_profile 添加语句(vim 语法相信大家是有点基础的。这里简单列几个一会用的上的。插入:i,退出:电脑的 esc 按键,:wq! 保存并关闭)

打开后:i      直接复制过去  export PATH=/你放的目录路径[上面 pwd 的结果]/phantomjs-2.1.1-macosx/bin:$PATH

5).终端输入source .bash_profile     让刚才的环境变量生效

6).终端输入 phantomjs --version 检测是否配置成功  

如果出现版本号、接OK了

接下来是不是想直接启动一下 pyspider all  结果发现还是不行

这次出现的又是第一次出现的关键字冲突问题  ---  没办法、就是这么坑

一样的操作、打开:/usr/local/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py,将async改为:asyncs(建议使用编辑器批量修改,具体改为什么、随意)

继续测试、启动:pyspider all 

(这里简单说一下、每次启动的时候都会出现以下情况)

这个是端口占用问一下、经常使用linux 的人这个应该不是什么问题

处理方式:   查看占用端口的PID   lsof -i:25555          杀死这个PID:kill -9 57349

接下来继续启动、你会发现,还是报错。。  是不是醉了,淡定、淡定、淡定……

其实这个还是老问题:关键字占用问题、同样的去修改即可:

打开:/usr/local/lib/python3.7/site-packages/pyspider/webui/app.py     将async改为:asyncs(建议使用编辑器批量修改,具体改为什么、随意)

修改完、杀死进程、启动

对、是的、又爆了…… 而且这个问题比较尴尬,这个是pycurl 安装错误问题、网上有好多教程

下面的操作是无效的

(   pip uninstall pycurl

export PYCURL_SSL_LIBRARY=openssl

pip install pycurl --compile  )

结果你会发现、不行,怎么办?我测试了直接在github 上下载源码、然后安装,还是不行

别急、解决方法来了:

pip3 uninstall pycurl# 卸载库

export PYCURL_SSL_LIBRARY=openssl

export LDFLAGS=-L/usr/local/opt/openssl/lib

export CPPFLAGS=-I/usr/local/opt/openssl/include# openssl相关头文件路径

pip3 install pycurl --compile --no-cache-dir # 重新编译安装

执行完之后测试: 

OK!!!但是、但是、但是……别激动,可能还有问题

再次启动:

是的、这是我遇到的最后一个坑了、

这是WsgiDAV发布了版本 pre-release 3.x导致的,所以只要把版本降下来就好了。

执行命令:pip3 install wsgidav==2.4.1

终于完成了、现在可以很嚣张的启动了

查看端口占用程序、杀死、启动:

打开浏览器:http:// localhost:5000 /

完成!!!
上一篇下一篇

猜你喜欢

热点阅读