阿里雲部署爬蟲項目

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

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

希望對大家有幫助啦!也感謝諸位無私分享的大神!




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