Centos上跑Python爬虫遇到的一些问题

前言

最近在写爬虫的时候遇到了一些神奇的问题,明明在本地的系统上跑的好好的,丢到服务器上就出现各种神奇的错误,这里总结一下,备忘

背景

我的爬虫使用的是Python编写,一种是纯粹使用requests库去抓取内容,然后正则匹配内容。另外一种是配合selenium这个强大的库,这个库常用来做自动化测试。python 使用 phantomjs做爬虫也是非常不错的,模拟出一个浏览器,可以直接执行js代码,操作dom树等。

本地编写测试爬虫使用的系统是debian系列,线上运行爬虫使用的是centos7,所以在测试时候正常,线上有问题是很蛋疼的,下面就写一下遇到的坑。

0x00

第一个坑就是安装pip出错,在debian系列上面安装pip非常的简单,直接执行下面的一条命令即可

sudo apt-get install python-pip && sudo -H pip install -U pip
或者直接下载官方的get-pip.py文件然后执行安装
python get-pip.py
然而,天朝蛋疼的网络环境并不能很顺利的使用第二种方法安装,所以只能使用apt-get安装,切换到centos下面后发现 yum 里面根本就没有 python-pip这个玩意。

通过搜索引擎找到解决方案,原文连接 http://www.centoscn.com/image-text/install/2015/0816/6013.html

首先安装EPEL,执行下面的命令即可

sudo yum -y install epel-release
接着就可以安装pip了,执行
sudo yum install python-pip

正常安装,安装完之后需要安装requests等python库,然而还是因为网络原因,各种失败,所以只能更换镜像地址,这里使用豆瓣的就很不错,参考链接 http://www.cnblogs.com/yudar/p/4444097.html 原文中的http要换成https,速度杠杠的,例如安装requests库

pip install requests  -i https://pypi.douban.com/simple

然后开始跑爬虫,本地跑没有问题,线上一直报错

Message: Service phantomjs unexpectedly exited. Status code was: 255
通过谷歌搜索引擎找到两篇文章 https://stackoverflow.com/questions/37930681/using-selenium-phantomjs-and-tor-in-python 和 http://sameerhalai.com/blog/how-to-install-phantomjs-on-a-centos-server/ 成功解决,执行命令
sudo yum install fontconfig

之后就可以顺利的玩耍了

如果您觉得文章有帮助到您,请到 https://www.92ez.com/index.php?action=show&id=23403 进行打赏/捐赠,谢谢!
如果您觉得文章有帮助到您,请 使劲戳这里 进行打赏/捐赠,谢谢!
本文链接:https://www.92ez.com/?action=show&id=23448
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: 如何正确的使用动态VPS(Linux)自动更换IP
下一篇: linux adsl 拨号自动配置脚本一枚

访客评论
目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):