阿里云部署爬虫项目

我是完全不懂Linux的小白。写了爬虫程序之后发现辣鸡电脑老是会自动关机,因此不得不去用云服务器。接下来和大家讲讲买服务器-安装Python3-安装各种module-爬虫程序的修改-上传爬虫程序-运行爬虫的全过程。爬虫爬的是一个报纸网站的所有文章。

一、购买阿里云服务器

https://promotion.aliyun.com/ntms/campus2017.html

如果你是学生,买上面网址里的这个学生套餐的轻量应用服务器就可以了,9.5人民币/月,非常实惠了。

购买完服务器之后,打开控制台,找到左边栏里的“轻量应用服务器”,就可以点开自己的服务器了。点击右上角的“远程连接”就可以正式开始为我们的服务器修修补补,为运行爬虫程序做准备了。

二、安装Python3

接下来,我参考了两位大神的指引(我谁都叫大神,因为是他们帮助我解决了问题):

https://blog.csdn.net/u012722531/article/details/79316180

和http://www.jb51.net/article/113980.htm

综合了他们的步骤,以下进行安装。我此时安装的是Python-3.6.5:

  1. #安装python3.6.5
  2. $ sudo mkdir /usr/local/python3 # 创建安装目录
  3. $ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz #下载源文件
  4. $ tar -xzvf Python-3.6.5.tgz # 解压缩包
  5. $ cd Python-3.6.5 # 进入解压目录
  6. #编译安装
  7. $ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
  8. $ sudo make
  9. $ sudo make install
  10. #配置2个版本共存
  11. $ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #创建 python3 的软链接,这样就可以通过 python 命令使用 Python 2,python3 来使用 Python 3。
配置共存之后,要注意:以后运行python程序的时候,如果程序是用Python3写的,就要写
python3 yourpython.py
如果是用Python2写的,就是
python yourpython.py

三、安装各种爬虫需要的Module

1、安装pip

这里问题就开始多起来了。也是我写这篇blog的最大原因,这里出的问题太多了,因为Python2和Python3的不兼容,以及阿里云服务器里的module太特么少了,导致经常出error。希望下面的部分能让大家顺利解决问题。

想直接安装pip?没那么容易,你很快就会发现它会出一个缺少setuptools的错误,所以我们要先装setuptools。

想直接安装setuptools?没那么容易,你很快就会发现它会出一个“compression requires the missing zlib module”的错。所以,我们要先装zlib。

想要直接装zlib?没那么容易,你很快又会发现它会出一个“使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:”的错。所以,我们要先把yum的bug解决。

所以接下来,我们的顺序就是搞定yum-安装zlib-安装setuptools-安装pip

(1)解决yum里Python2和Python3矛盾的bug

这里参考的大神是:https://blog.csdn.net/zsl10/article/details/52315319

“问题出现原因: yum包管理是使用python2.x写的,将python2.x升级到python3.1.3以后,由于python版本语法兼容性导致问题出现

解决办法:

修改yum配置文件,将python版本指向以前的旧版本

  1. # vi /usr/bin/yum
  2. 把第一行改成#!/usr/bin/python2.7

附:vi模式的编辑与退出编辑模式的方法。

进入编辑(insert)模式:按i键

保存并退出编辑模式:先按Esc键,再按Shift+zz(就是按着Shift键,按两下z键,就可以了)

②修改urlgrabber-ext-down文件,更改python版本

# vi /usr/libexec/urlgrabber-ext-down
把第一行改成#!/usr/bin/python2.7

接下来就可以继续装zlib了

(2)装zlib

这里参考的大神是:https://blog.csdn.net/zhuying_linux/article/details/8167430

yum install zlib

然后,要重新去编译一遍Python-3.6.5,make,make install。

  1. cd Python-3.6.5 # 进入解压目录
  2. #编译安装
  3. $ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
  4. $ sudo make
  5. $ sudo make install

这样子才能让zlib发挥作用。不然还是会出错。同样的,如果你发现接下来安装任何东西之后还是不能用,那就再编译安装。

(3)安装setuptools-39.1.0

  1. # wget https://files.pythonhosted.org/packages/a6/5b/f399fcffb9128d642387133dc3aa9bb81f127b949cd4d9f63e5602ad1d71/setuptools-39.1.0.zip
  2. # unzip setuptools-39.1.0.zip
  3. # cd setuptools-39.1.0
  4. # python setup.py install

(4)安装pip

终于可以安装pip啦!

  1. curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. python get-pip.py

2、安装爬虫需要的module

我是在上传了爬虫程序之后才发现不能import requests等等库的。然后又发现pip不行了所以才需要重新安装pip。

我爬虫用了requests、BeautifulSoup4、pandas库。

  1. pip install requests
  2. pip install BeautifulSoup4
  3. pip install pandas

搞定!

三、修改爬虫中的输出文件夹

我的爬虫原文件里,所有的保存都是\,还有什么“D:\”,这些在Linux通通要改。

保存的file名字就是“/yourfile/your.txt”之类的,开头一定要有/。

四、上传爬虫程序

下载xftp,就按照https://blog.csdn.net/HighproX/article/details/51283990的教程做就好了,然后就可以把自己的爬虫文件上传到云服务器了。

五、运行爬虫程序

还是https://blog.csdn.net/u012722531/article/details/79316180大神的指引:

nohup python3 -u yourpython.py > log.out & 

还记得要用python3吗?记住噢!

大神说,“这里,> log.out 表示将控制台输出输出到log.out文件中
-u选项表示每多一条信息就实时输出到log.out中,而不是全部输出完毕再输出

&符号表示在后台执行,运行时可以查看日志或者运行”

之后,就可以从log.out文件看输出的东西了。我自己是直接用xftp看。

————————————————————————————————

希望对大家有帮助啦!也感谢诸位无私分享的大神!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章