我是完全不懂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:
- #安装python3.6.5
- $ sudo mkdir /usr/local/python3 # 创建安装目录
- $ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz #下载源文件
- $ tar -xzvf Python-3.6.5.tgz # 解压缩包
- $ cd Python-3.6.5 # 进入解压目录
- #编译安装
- $ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
- $ sudo make
- $ sudo make install
- #配置2个版本共存
- $ 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版本指向以前的旧版本
- # vi /usr/bin/yum
- 把第一行改成#!/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。
- cd Python-3.6.5 # 进入解压目录
- #编译安装
- $ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
- $ sudo make
- $ sudo make install
这样子才能让zlib发挥作用。不然还是会出错。同样的,如果你发现接下来安装任何东西之后还是不能用,那就再编译安装。
(3)安装setuptools-39.1.0
- # wget https://files.pythonhosted.org/packages/a6/5b/f399fcffb9128d642387133dc3aa9bb81f127b949cd4d9f63e5602ad1d71/setuptools-39.1.0.zip
- # unzip setuptools-39.1.0.zip
- # cd setuptools-39.1.0
- # python setup.py install
(4)安装pip 终于可以安装pip啦!
- curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
- python get-pip.py
2、安装爬虫需要的module
我是在上传了爬虫程序之后才发现不能import requests等等库的。然后又发现pip不行了所以才需要重新安装pip。
我爬虫用了requests、BeautifulSoup4、pandas库。
- pip install requests
- pip install BeautifulSoup4
- 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看。
————————————————————————————————
希望对大家有帮助啦!也感谢诸位无私分享的大神!