前一篇博文里提到的爬虫写好啦,总不能老是放在自己的笔记本上爬取数据吧,消耗网费还占时间,自然得挂在阿里云等服务器上。可这里也有一堆坑等着我踩。
我的阿里云装的是CentOS7.2
,租来以后基本没动过。配置的环境请看那长长的标题。
Python3 和 pip3
注意,千万不能卸载CentOS7.2
自带的Python2.7
!这是我配环境犯下的第一个错误!因为yum
等许多和系统关联很紧密的东西是依托Python2.7
的,你卸载后yum
等一堆东西都不能用,麻烦很大!如果你卸载了咋办呢?麻烦的做法是靠rpm
方法把缺失的文件给补回来。我就比较厉害了,感谢阿里云的快照功能,我直接回滚磁盘。还好上面没啥重要的东西。
这样做就足够了:
yum install python34 -y
python3 --version
//没有自带pip3,从官网安装
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
pip3 -V
以后若要使用Python3
和pip3
,就使用python3
和pip3
命令;若要使用Python2
和pip2
,就使用python
和pip
命令。
网上有的教程为了让你直接运行python
命令时启用的是Python3
而不是Python2.7
,很麻烦地让你删改各种软链接和配置文件(本强迫症患者就被坑得够惨)。我十分不建议这么做,CentOS
和Python2.7
结合得太紧密了,这样改也容易出事。还是老老实实地按上面的做法来吧,也没麻烦到哪去。
Selenium 和 PhantomJS
前一步若能完成,后面的麻烦事就少了。安装Selenium
,这样做就行:
pip install Selenium
能用pip
,yum
等解决的就不要自己去搞什么压缩包,太麻烦了。
PhantomJS
无头浏览器就没办法了。它并非一个Python
库,所以它不能像Python
的其他库一样安装,也不能用pip
安装。
像这样做就很好:
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar -xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2
//创建软链接,放入系统路径:
sudo ln -s ~/bin/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
//安装依赖——fontconfig和freetype:
yum install fontconfig freetype2
//在终端下测试Phantomjs:
phantomjs -v
下载、解压、创建软链接、安装依赖、测试,一气呵成。
如果解压失败,多半是gzip2
没装上。用yum
就行:
yum install bzip2
好,进入最后一步~~
让爬虫在关闭终端后保持运行
环境配好了,通过远程ssh
连上主机了,看着终端的正常输出,真是舒服啊。看了一会儿想断开连接,可连接一断爬虫跟着不干活了。这可咋整呢?
方法有很多,什么进程守护啊、写Shell
脚本啊……太麻烦,使用tmux
(linux
终端复用软件)最简单:
yum install tmux -y //安装软件
tmux //启动新终端
cd xxx //cd到你的脚本目录
python server.py//
此时脚本已经在运行了。就算关闭shell
终端该程序还是在运行,因为启动该程序的直接终端是tmux
,而不是你的。
如果想查看进程状态,重新打开终端,执行
tmux attach
就可以了。另外,这个网页还提供了许多别的方案,感兴趣者请点击
就等着明天收数据了~~