天天看點

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

随着人工智能和深度學習的風暴來臨,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位)

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

該産品的說明如下所示:

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

2.點選購買,進入選擇配置頁面進行購買

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

3.購買成功之後,生成如下的訂單頁面

這裡作者選擇了雲伺服器ECS、鏡像CentOs6.8,支援Python運作環境、djangoV1.1、nginxV1.1、mysqlV5.7。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

4.在菜單頁面點選設定密碼,登入名root、登入密碼需設定

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

5.點選“去下單”按鈕并支付

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

6.去到阿裡雲控制台,并點選雲伺服器ECS

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

然後在左邊欄目點選“雲伺服器ECS”圖示,生成如下圖所示界面,可以看到我們的伺服器已經運轉。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

7.在控制台中實作雲伺服器遠端登入

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

點選“遠端登入”後彈出的界面會提示遠端連接配接密碼,請記住這個密碼,它将一直用于遠端登入伺服器。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

接下來就是輸入遠端連接配接密碼實作登入。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

8.在彈出的黑框中,輸入登入名root,密碼為第4步驟設定的自定義密碼

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

注意:講到這裡一個簡單的阿裡雲伺服器就搭建成了,其他雲伺服器都是類似的配置方法,比較簡單,這裡作者使用的是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

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

2.檢視檔案内容

  • 指令:dir或ls
$ls 列出目前檔案夾下所有内容
$ls -o 列出目前檔案夾中所有内容,含詳細資訊,但不列出group
$ls -l 同上,含group資訊
$ls -a 列出目前檔案夾中所有内容,包含以”.”開頭的檔案
$ls -t 按更改時間排序
$ls -v 按版本先後排序           

如下圖所示,可以看到我已經建立的三個Python檔案,“ls -o”顯示詳細資訊。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

3.建立檔案夾

  • 指令:mkdir 檔案夾
  • 建立檔案夾eastmount,執行”mkdir eastmount”後顯示建立檔案夾。
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

4.檢視路徑

  • 指令:cd 進入檔案夾
  • Change Directory ,”cd yxz”表示進入yxz檔案夾,”cd ~”表示傳回home根目錄,”cd ..”表示傳回上一層目錄(類似DOS)。
  • 更改目錄 Change Directory (cd):cd /path/to/directory/,有DOS基礎的同學應該知道,路徑可以用相對也可以用絕對。
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

5.建立Python檔案

  • 指令:touch first.py
  • 在eastmount目錄建立first.py檔案,如果touch了已有的檔案,則會更新那個檔案的日期為目前。
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

6.檢視Python版本

  • 指令:python -V
  • 可以看到是Python3.4.1,需要注意print()為輸出,同時調用一些擴充包方法也有别于Python2.7版本。
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

7.編輯Python程式

  • 指令: vi first.py

注意:

(1) 輸入”vi first.py”後,用vi打開檔案後,是處于「指令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。切換方法:在「指令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。

(2) 編輯好後,需從插入模式切換為指令行模式才能對檔案進行儲存,切換方法:按「ESC」鍵。

(3) 儲存并退出檔案:在指令模式下輸入:wq即可!(别忘了wq前面的:)

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

執行步驟:

輸出指令:vi first.py
點選鍵盤:i鍵 - 編輯代碼(Insert)
 
輸出代碼:
#!/usr/bin/python
print("this is my first python code.")
print("hello,Eastmount!!!")
print("Bye, Nana.")
 
點選鍵盤:Esc鍵
輸出指令::wq           
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

注意,我們也可以使用“vim first.py”編輯代碼,并且它是彩色顯示,如下圖所示:

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

8.運作Python程式

  • 指令:python first.py

輸出結果如下所示:

this is my first python code.
Hello, Eastmount!!!
Bye, Nana.           
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

注意:使用Linux系統時,如果一個螢幕顯示不下内容,想切換上一頁下一頁,可以使用“Shift+PageUp”快捷鍵檢視上一頁内容,“Shift+PageDown”檢視下一頁内容。

三. Python實作BeautifulSoup爬蟲代碼

Python可以調用pip工具安裝擴充包,這是非常友善的一個手段,這裡我們通過該擴充包安裝BeautifulSoup和Selenium爬蟲擴充包。

安裝Selenium擴充包

  • 指令:pip install selenium
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

安裝BeautifulSoup擴充包

  • 指令:pip install bs4
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

檢視已安裝擴充包

  • 指令:pip list
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

建立第一個爬蟲代碼bsfirst.py

  • 指令:touch bsfirst.py

編輯代碼

  • 指令:vim bsfirst.py
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

輸入代碼

#!/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())           
[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

輸出結果

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

注意,它輸出了中文亂碼,下一篇文章将講解怎麼解決該問題。

四. Putty基礎用法

PuTTY是一個Telnet、SSH、rlogin、純TCP以及串行接口連接配接軟體。PuTTY為一開放源代碼軟體,主要由Simon Tatham維護,使用MIT licence授權。

随着Linux在伺服器端應用的普及,Linux系統管理越來越依賴于遠端。在各種遠端登入工具中,Putty是出色的工具之一。它是一個免費的、Windows x86平台下的Telnet、SSH和rlogin用戶端,但是功能絲毫不遜色于商業的Telnet類工具。

連接配接遠端伺服器

運作界面如下圖所示:

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

登入阿裡雲伺服器

在Host Name填寫公網IP位址,比如39.xx.xx.166,點選“Open”按鈕,如下圖所示。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

登入後的界面如下圖所示,填寫登入名“root”以及對應登入密碼。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

然後就可以操作該遠端伺服器了,比如運作我們的bsfirst.py爬蟲代碼。

[CentOS Python系列] 一.阿裡雲伺服器安裝部署及第一個Python爬蟲代碼實作一. 阿裡雲伺服器CentOS搭建二. CentOS基礎指令及Python入門三. Python實作BeautifulSoup爬蟲代碼四. Putty基礎用法

可以看到,爬取了百度搜尋官網的标題“百度一下,你就知道”,更多BeautifulSoup知識推薦下面,這裡不再深入。 通過Putty我們可以更好的管理遠端伺服器以及上傳檔案到伺服器上,總之,希望這篇基礎文章對您有所幫助,尤其是剛接觸雲伺服器的新手,如果您是高手,還請多提意見,共同提高。

很高興重回阿裡雲,開心能與大家在這裡認識,希望能分享更高品質的文章幫助大家,且行且珍惜。

(By:Eastmount 2021-11-08 夜于武漢)