随着人工智能和深度學習的風暴來臨,Python變得越來越火熱,作者也準備從零學習這些知識,寫相關文章。本篇文章是作者學習部署阿裡雲伺服器 CentOS環境,然後完成了第一個Python BeautifulSoup爬蟲,是非常基礎的入門文章,後面将陸續深入,學習如何将Python定時爬蟲托管到伺服器、爬取的資料存儲至資料庫中、爬蟲資料分析等知識。文章非常基礎,希望這系列文章對您有所幫助,如果有錯誤或不足之處,還請海涵。
一. 阿裡雲伺服器CentOS搭建
阿裡雲的CentOS雲系統是一個內建了Python環境基于yum安裝的鏡像,包含Nginx、MySQL、Pyenv、IPython等。
CentOS(Community Enterprise Operating System,中文意思是:社群企業作業系統)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,是以有些要求高度穩定性的伺服器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在于CentOS并不包含封閉源代碼軟體。
阿裡雲提供了很多的産品供大家購買使用,非常友善,這裡作者随便購買了一個,不一定适用,自己也是摸着石頭過河,一點點嘗試吧,為了學習這錢其實還是值的。
1.購買centOS系統
阿裡雲提供的環境位址:Python運作環境(CentOS6.8 64位)

該産品的說明如下所示:
2.點選購買,進入選擇配置頁面進行購買
3.購買成功之後,生成如下的訂單頁面
這裡作者選擇了雲伺服器ECS、鏡像CentOs6.8,支援Python運作環境、djangoV1.1、nginxV1.1、mysqlV5.7。
4.在菜單頁面點選設定密碼,登入名root、登入密碼需設定
5.點選“去下單”按鈕并支付
6.去到阿裡雲控制台,并點選雲伺服器ECS
然後在左邊欄目點選“雲伺服器ECS”圖示,生成如下圖所示界面,可以看到我們的伺服器已經運轉。
7.在控制台中實作雲伺服器遠端登入
點選“遠端登入”後彈出的界面會提示遠端連接配接密碼,請記住這個密碼,它将一直用于遠端登入伺服器。
接下來就是輸入遠端連接配接密碼實作登入。
8.在彈出的黑框中,輸入登入名root,密碼為第4步驟設定的自定義密碼
注意:講到這裡一個簡單的阿裡雲伺服器就搭建成了,其他雲伺服器都是類似的配置方法,比較簡單,這裡作者使用的是CentOS系統,接下來将帶領大家體驗Linux的基礎指令及寫第一個Python代碼。
二. CentOS基礎指令及Python入門
作者首先給出Linux系統下常見的指令,詳見:Putty基礎教程之(一).入門指令學習及編寫HTML
cd 檔案夾名:檢視路徑
dir:檢視目前路徑下的所有檔案
ls:列出目前檔案夾下所有内容
pwd:顯示目前路徑
clear: 清空終端螢幕指令,Ctrl+L清除螢幕
mkdir [dir]: 建立檔案夾
mv *** ****:移動或者重命名
rm *** ***:删除一次可以删除多個
cp:拷貝
touch 檔案名: 建立檔案
vi 檔案名: 編輯檔案指令
cat 檔案名: 檢視檔案内容
wget (路徑):下載下傳
unzip ***.zip:壓縮檔案到目前目錄
ls -ltr | cat -vte: 顯示檔案夾下所有内容詳細資訊
1.清屏 指令:clear
2.檢視檔案内容
- 指令:dir或ls
$ls 列出目前檔案夾下所有内容
$ls -o 列出目前檔案夾中所有内容,含詳細資訊,但不列出group
$ls -l 同上,含group資訊
$ls -a 列出目前檔案夾中所有内容,包含以”.”開頭的檔案
$ls -t 按更改時間排序
$ls -v 按版本先後排序
如下圖所示,可以看到我已經建立的三個Python檔案,“ls -o”顯示詳細資訊。
3.建立檔案夾
- 指令:mkdir 檔案夾
- 建立檔案夾eastmount,執行”mkdir eastmount”後顯示建立檔案夾。
4.檢視路徑
- 指令:cd 進入檔案夾
- Change Directory ,”cd yxz”表示進入yxz檔案夾,”cd ~”表示傳回home根目錄,”cd ..”表示傳回上一層目錄(類似DOS)。
- 更改目錄 Change Directory (cd):cd /path/to/directory/,有DOS基礎的同學應該知道,路徑可以用相對也可以用絕對。
5.建立Python檔案
- 指令:touch first.py
- 在eastmount目錄建立first.py檔案,如果touch了已有的檔案,則會更新那個檔案的日期為目前。
6.檢視Python版本
- 指令:python -V
- 可以看到是Python3.4.1,需要注意print()為輸出,同時調用一些擴充包方法也有别于Python2.7版本。
7.編輯Python程式
- 指令: vi first.py
注意:
(1) 輸入”vi first.py”後,用vi打開檔案後,是處于「指令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。切換方法:在「指令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。
(2) 編輯好後,需從插入模式切換為指令行模式才能對檔案進行儲存,切換方法:按「ESC」鍵。
(3) 儲存并退出檔案:在指令模式下輸入:wq即可!(别忘了wq前面的:)
執行步驟:
輸出指令:vi first.py
點選鍵盤:i鍵 - 編輯代碼(Insert)
輸出代碼:
#!/usr/bin/python
print("this is my first python code.")
print("hello,Eastmount!!!")
print("Bye, Nana.")
點選鍵盤:Esc鍵
輸出指令::wq
注意,我們也可以使用“vim first.py”編輯代碼,并且它是彩色顯示,如下圖所示:
8.運作Python程式
- 指令:python first.py
輸出結果如下所示:
this is my first python code.
Hello, Eastmount!!!
Bye, Nana.
注意:使用Linux系統時,如果一個螢幕顯示不下内容,想切換上一頁下一頁,可以使用“Shift+PageUp”快捷鍵檢視上一頁内容,“Shift+PageDown”檢視下一頁内容。
三. Python實作BeautifulSoup爬蟲代碼
Python可以調用pip工具安裝擴充包,這是非常友善的一個手段,這裡我們通過該擴充包安裝BeautifulSoup和Selenium爬蟲擴充包。
安裝Selenium擴充包
- 指令:pip install selenium
安裝BeautifulSoup擴充包
- 指令:pip install bs4
檢視已安裝擴充包
- 指令:pip list
建立第一個爬蟲代碼bsfirst.py
- 指令:touch bsfirst.py
編輯代碼
- 指令:vim bsfirst.py
輸入代碼
#!/usr/bin/python
import sys
import urllib
import urllib.request
from bs4 import BeautifulSoup
print(sys.getdefaultencoding())
url = "http://www.baidu.com"
print(url)
content = urllib.request.urlopen(url).read()
#print(content)
soup = BeautifulSoup(content,"html.parser")
print(soup.title)
print(soup.title.get_text())
輸出結果
注意,它輸出了中文亂碼,下一篇文章将講解怎麼解決該問題。
四. Putty基礎用法
PuTTY是一個Telnet、SSH、rlogin、純TCP以及串行接口連接配接軟體。PuTTY為一開放源代碼軟體,主要由Simon Tatham維護,使用MIT licence授權。
随着Linux在伺服器端應用的普及,Linux系統管理越來越依賴于遠端。在各種遠端登入工具中,Putty是出色的工具之一。它是一個免費的、Windows x86平台下的Telnet、SSH和rlogin用戶端,但是功能絲毫不遜色于商業的Telnet類工具。
連接配接遠端伺服器
運作界面如下圖所示:
登入阿裡雲伺服器
在Host Name填寫公網IP位址,比如39.xx.xx.166,點選“Open”按鈕,如下圖所示。
登入後的界面如下圖所示,填寫登入名“root”以及對應登入密碼。
然後就可以操作該遠端伺服器了,比如運作我們的bsfirst.py爬蟲代碼。
可以看到,爬取了百度搜尋官網的标題“百度一下,你就知道”,更多BeautifulSoup知識推薦下面,這裡不再深入。 通過Putty我們可以更好的管理遠端伺服器以及上傳檔案到伺服器上,總之,希望這篇基礎文章對您有所幫助,尤其是剛接觸雲伺服器的新手,如果您是高手,還請多提意見,共同提高。
很高興重回阿裡雲,開心能與大家在這裡認識,希望能分享更高品質的文章幫助大家,且行且珍惜。
(By:Eastmount 2021-11-08 夜于武漢)