我是完全不懂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看。
————————————————————————————————