'從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)'

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.12 魔術方法

4. 類的繼承

共享單車的出現,方便了人們的出行。共享單車和原來的自行車組成結構類似,但多了付費的功能。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.12 魔術方法

4. 類的繼承

共享單車的出現,方便了人們的出行。共享單車和原來的自行車組成結構類似,但多了付費的功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.12 魔術方法

4. 類的繼承

共享單車的出現,方便了人們的出行。共享單車和原來的自行車組成結構類似,但多了付費的功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.13所示。

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.12 魔術方法

4. 類的繼承

共享單車的出現,方便了人們的出行。共享單車和原來的自行車組成結構類似,但多了付費的功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.13所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.13 類的繼承

在新的類Share_bike後面的括號中加入Bike,表示Share_bike繼承了Bike父類。父類中的變量和方法可以完全被子類繼承,在特殊情況下,也可以對其覆蓋。

最後:學習Python的有用資源

好像大家都有一個毛病,就是到處蒐集資源,雲盤裡有很多東西,但是基本是從來都不看,所以說視頻在精不在於多,我當時自學python的時候也蒐集了各種視頻,這裡看看,那裡看看,學的一點都不繫統,而且學了之後也找不到工作,視頻一定要最新的,python更新的快,舊的是不可以的。小編給大家分享一套2019年7月份最新的python視頻教程,共400集,帶你從入門到達手寫網絡神經的地步,

領取方式:轉發本文,

然後來私信小編“python”即可免費獲取這套教程和電子書籍啦!

"

本文立足基礎,講解Python和PyCharm的安裝,及Python最簡單的語法基礎和爬蟲技術中所需的Python語法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

01 Python與PyCharm安裝

“工欲善其事,必先利其器”,本節介紹Python環境的安裝和Python的集成開發環境(IDE)PyCharm的安裝。

1. Python安裝(Windows、Mac和Linux)

當前主流的Python版本為2.x和3.x。由於Python 2第三方庫更多(很多庫沒有向Python 3轉移),企業普遍使用Python 2。如果作為學習和研究的話,建議使用Python 3,因為它是未來的發展方向。所以本教程選擇Python 3的環境。

1.1 Windows中安裝Python 3

在Windows系統中安裝Python 3,請參照下面的步驟進行。

打開瀏覽器,訪問Python官網(https://www.python.org/)。

光標移動至Downloads鏈接,單擊Windows鏈接。

根據自己的Windows版本(32位或64位),下載相應的Python 3.5版本,如為Windows 32位系統,應下載Windows x86 executable installer,如果為Windows 64位系統,應下載Windows x86-64 executable installer。

單擊運行文件,勾選Add Python 3.5 to PATH,然後單擊Install Now按鈕即可完成安裝。

在計算機中打開命令提示符(cmd)窗口,輸入python,如圖1.1所示,說明Python環境安裝成功。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.1 運行Python環境

當界面出現提示符>>>時,就表明進入了Python交互式環境,輸入代碼後按Enter鍵即可運行Python代碼,通過輸入exit()並按Enter鍵,就可以退出Python交互式環境。

注意:如果出現錯誤,可能是因為安裝時未勾選Add Python3.5 to PATH選項,此時卸載Python後重新安裝時勾選Add Python3.5 to PATH選項即可。

1.2 Mac中安裝Python3

Mac系統中自帶了Python 2.7,需到Python官網上下載並安裝Python3.5。Mac系統中的安裝比Windows更為簡單,一直單擊“下一步”按鈕即可完成。安裝完後,打開終端並輸入Python3,即可進入Mac的Python3的交互式環境。

1.3 Linux中安裝Python3

大部分Linux系統內置了Python2和Python3,通過在終端輸入python–version,可以查看當前Python3的版本。如果需要安裝某個特定版本的Python,可以在終端中輸入:

sudo apt-get install python3.5

2. PyCharm安裝

安裝好Python環境後,還需要安裝一個集成開發環境(IDE),IDE集成了代碼編寫功能、分析功能、編譯功能和調試功能。在這裡向讀者推薦一個最智能、好用的Python IDE,叫做PyCharm。進入PyCharm的官網,下載社區版即可:

http://www.jetbrains.com/pycharm/

由於PyCharm上手極為簡單,因此就不詳細講解PyCharm的使用方法了。以下講解如何使用PyCharm關聯Python解釋器,讓PyCharm可以運行Python代碼。

打開PyCharm,在菜單欄中選擇File ∣ Defalut Settings命令。

在彈出的對話框中選擇Project Interpreter,然後在右邊選擇Python環境,這裡選擇Python 3.5,單擊OK按鈕,即可關聯Python解釋器,如圖1.2所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.2 關聯Python解釋器

02 變量和字符串

本節主要介紹Python變量的概念、字符串的基本使用方法、字符串的切片和索引,以及字符串的幾種常用方法。

1. 變量

Python中的變很好理解,例如:

a = 1

這種操作稱為賦值,意思為將數值1賦給了變量a。

注意:Python中語句結束不需要以分號結束,變量不需要提前定義。

現在有變量a和變量b,可以通過下面代碼進行變量a、b值的對換。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似於將兩個杯子中的飲料對換,只需要多加一個杯子,即可完成飲料的對換工作。

2. 字符串的“加法”和“乘法”

由於Python爬蟲的對象大部分為文本,所以字符串的用法尤為重要。在Python中,字符串由雙引號或單引號和引號中的字符組成。首先,通過下面代碼看看字符串的“加法”:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在爬蟲代碼中,會經常構造URL,例如,在爬取一個網頁鏈接時,只有一部分/u/9104ebf5e177,這部分鏈接是無法訪問的,還需要http://www.jianshu.com,這時可以通過字符串的“加法”進行合併。

注意:此網站為筆者的簡書首頁。

Python的字符串不僅可以相加,也可以乘以一個數字:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串乘以一個數字,意思就是將字符串複製這個數字的份數。

3. 字符串的切片和索引

字符串的切片和索引就是通過string[x],獲取字符串的一部分信息:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過圖1.3就能清楚地理解字符串的切片和索引。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.3 字符串切片和索引

注意:a[0:5]中的第5個是不會選擇的。

在爬蟲實戰中,經常會通過字符串的切片和索引,提取需要的部分,剔除一些不需要的部分。

4. 字符串方法

Python作為面向對象的語言,每個對象都有相應的方法,字符串也一樣,擁有多種方法,在這裡介紹爬蟲技術中常用的幾種方法。

4.1 split()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串的split()方法就是通過給定的分隔符(在這裡為‘.’),將一個字符串分割為一個列表(後面將詳細講解列表)。

注意:如果沒有提供任何分隔符,程序會把所有的空格作為分隔符(空格、製表、換行等)。

4.2 repalce()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這種方法類似文本中的“查找和替換”功能。

4.3 strip()方法

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

strip()方法返回去除兩側(不包括內部)空格的字符串,也可以指定需要去除的字符,將它們列為參數中即可。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這個方法只能去除兩側的字符,在爬蟲得到的文本中,文本兩側常會有多餘的空格,只需使用字符串的strip()方法即可去除多餘的空格部分。

4.4 format()方法

最後,再講解下好用的字符串格式化符,首先看以下代碼:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

字符串格式化符就像是做選擇題,留了空給做題者選擇。在爬蟲過程中,有些網頁鏈接的部分參數是可變的,這時使用字符串格式化符可以減少代碼的使用量。

例如,Pexels素材網(https://www.pexels.com/),當搜索圖片時,網頁鏈接也會發生變化。

如在搜索欄中輸入book,網頁跳轉為https://www.pexels.com/search/book/,可以設計如下代碼,筆者只需輸入搜索內容,便可返回網頁鏈接。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

運行程序並輸入book,便可返回網頁鏈接,單擊網頁鏈接便可訪問網頁了,如圖1.4所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.4 字符串格式化符演示

03 函數與控制語句

本節主要介紹Python()函數的定義與使用方法,介紹Python的判斷和循環兩種爬蟲技術中常用的控制語句。

1. 函數

“髒活累活交給函數來做”,首先,看看Python中定義函數的方法。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

製作一個輸入直角邊就能計算出直角三角形的面積函數:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:讀者不需要太糾結二者的區別,用return是返回一個值,而第二個是調用函數執行打印功能。

通過輸入function(2,3),便可以調用函數,計算直角邊為2和3的直角三角形的面積。現在來做一個綜合練習:讀者都知道網上公佈的電話號碼,如156****9354,中間的數值用其他符號代替了,而用戶輸入手機號時卻是完整地輸入,下面就通過Python()函數來實現這種轉換功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:這裡的手機號碼是隨意輸入的,不是真實的號碼。

代碼說明如下:

定義了一個名為change_number的函數。

對輸入的參數進行切片,把參數的[3:7]部分替換為‘*’號,並打印出來。

調用函數。

2. 判斷語句

在爬蟲實戰中也會經常使用判斷語句,Python的判斷語句格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

在平時使用密碼時,輸入的密碼正確即可登錄,密碼錯誤時就需要再次輸入密碼。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

程序說明如下:

運行程序,輸入密碼後按Enter鍵。

如果輸入的字符串為12345,則打印“輸入成功!”,程序結束。

如果輸入的字符串不是12345,則打印“錯誤,再輸入”,繼續運行程序,直到輸入正確為止。

讀者也可以將程序設計得更為有趣,例如,“3次輸入失敗後,退出程序”等。

3. 循環語句

Python的循環語句包括for循環和while循環,代碼如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

例如,設計一個小程序,計算1~100的和:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

04 Python數據結構

數據結構是存放數據的容器,本節主要講解Python的4種基本數據結構,即列表、字典、元組和集合。

1. 列表

在爬蟲實戰中,使用最多的就是列表數據結構,不論是構造出的多個URL,還是爬取到的數據,大多數都為列表數據結構。下面首先介紹列表最顯著的特徵:

列表中的每一個元素都是可變的。

列表的元素都是有序的,也就是說每個元素都有對應的位置(類似字符串的切片和索引)。

列表可以容納所有的對象。

列表中的每個元素都是可變的,這意味著可以對列表進行增、刪、改操作,這些操作在爬蟲中很少使用,因此這裡不再給讀者添加知識負擔。

列表的每個元素都有對應的位置,這種用法與字符串的切片和索引很相似。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

如果為切片,返回的也是列表的數據結構。

列表可以容納所有的對象:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

列表中會經常用到多重循環,因此讀者有必要去了解和使用多重循環。現在,擺在讀者面前有兩個列表,分別是姓名和年齡的列表:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

這時可以通過多重循環讓name和age同時打印在屏幕上:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:多重循環前後變量要一致。

在爬蟲中,經常請求多個網頁,通常情況下會把網頁存到列表中,然後循環依次取出並訪問爬取數據。這些網頁都有一定的規律,如果是手動將這些網頁URL存入到列表中,不僅花費太多時間,也會造成代碼冗餘。這時可通過列表推導式,構造出這樣的列表,例如某個網站每頁的URL是這樣的(一共13頁):

http://bj.xiaozhu.com/search-duanzufang-p1-0/

http://bj.xiaozhu.com/search-duanzufang-p2-0/

http://bj.xiaozhu.com/search-duanzufang-p3-0/

http://bj.xiaozhu.com/search-duanzufang-p4-0/

……

通過以下代碼即可構造出13頁URL的列表數據:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

通過一行代碼即可構造出來,通過for循環打印出每個URL,如圖1.5所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.5 列表推導式構造URL列表

注意:本網站為小豬短租網。

2. 字典

Python的字典數據結構與現實中的字典類似,以鍵值對('key'-'value')的形式表現出來。本文中只講解字典的創造,字典的操作在後面會詳細介紹。字典的格式如下:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:插入MongoDB數據庫需用字典結構。

3. 元組和集合

在爬蟲中,元組和集合很少用到,因此這裡只做簡單介紹。元組類似於列表,但是元組的元素不能修改只能查看,元組的格式如下:

tuple = (1,2,3)

集合的概念類似數學中的集合。每個集合中的元素是無序的,不可以有重複的對象,因此可以通過集合把重複的數據去除。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

注意:集合是用大括號構建的。

05 Python文件操作

在爬蟲初期的工作中,常常會把數據存儲到文件中。本節主要講解Python如何打開文件和讀寫數據。

1. 打開文件

Python中通過open()函數打開文件,語法如下:

open(name[, mode[, buffering]])

open()函數使用文件名作為唯一的強制參數,然後返回一個文件對象。模式(mode)和緩衝(buffering)是可選參數。在Python的文件操作中,mode參數的輸入是有必要的,而buffering使用較少。

如果在本機上有名為file.txt的文件(讀者可以在本機中新建一個文本文件),其存儲路徑為C:\\Users\\Administrator\\Desktop,那麼可以通過下面代碼打開文件:

f = open('C:/Users/Administrator/Desktop/file.txt')

注意:此代碼為Windows系統下的路徑寫法。

如果文件不存在,則會出現如圖1.6所示的錯誤。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.6 文件不存在報錯信息

如果open()函數只是加入文件的路徑這一個參數,則只能打開文件並讀取文件的相關內容。如果要向文件中寫入內容,則必須加入模式這個參數了。下面首先來看看open()函數中模式參數的常用值,如表1.1所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

表1.1 open()函數中模式參數的常用值

2. 讀寫文件

上一節中有了名為f的類文件對象,那麼就可以通過f.write()方法和f.read()方法寫入和讀取數據了。

f = open('C:/Users/Administrator/Desktop/file.txt','w+')

f.write('hello world')

這時,在本機上打開file.txt文件,可以看到如圖1.7所示的結果。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.7 Python寫文件

注意:如果沒有建立文件,運行上面代碼也可以成功。

如果再次運行程序,txt文件中的內容不會繼續添加,可以修改模式參數為'r+',便可一直寫入文件。

Python讀取文件通過read()方法,下面嘗試把f的類文件對象寫入的數據讀取出來,使用如下代碼即可完成操作:

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

3. 關閉文件

當完成讀寫工作後,應該牢記使用close()方法關閉文件。這樣可以保證Python進行緩衝的清理(出於效率考慮而把數據臨時存儲在內存中)和文件的安全性。通過下面代碼即可關閉文件。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

06 Python面向對象

Python作為一個面向對象的語言,很容易創建一個類和對象。本節主要講解類的定義及其相關使用方法。

1. 定義類

類是用來描述具有相同屬性和方法的對象集合。人可以通過不同的膚色劃分為不同的種族,食物也有不同的種類,商品也是形形色色。但劃分為同一類的物體,肯定具有相似的特徵和行為方式。

對於同一款自行車而言,它們的組成結構都是一樣的,如車架、車輪和腳踏板等。通過Python可以定義這個自行車的類:

class Bike:

compose = ['frame','wheel','pedal']

通過使用class定義一個自行車的類,類中的變量compose稱為類的變量,專業術語為類的屬性。這樣,顧客購買的自行車組成結構就是一樣的了。

my_bike = Bike()

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.8所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.8 類屬性引用

在左邊寫上變量名,右邊寫上類的名稱,這個過程稱之為類的實例化,而my_bike就是類的實例。通過“.”加上類的屬性,就是類屬性的引用。類的屬性會被類的實例共享,所以結果都是一樣的。

2. 實例屬性

對於同一款自行車來說,有些顧客買回去後會改造下,如加一個車筐可以放東西等。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.9所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

▲圖1.9 實例屬性

說明:通過給類的實例屬性進行賦值,也就是實例屬性。compose屬性屬於所有的該款自行車,而other屬性只屬於my_bike這個類的實例。

3. 實例方法

讀者是否還記得字符串的format()方法。方法就是函數,方法是對實例進行使用的,所以又叫實例方法。對於自行車而言,它的方法就是騎行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.10所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.10 實例方法

注意:這裡的self參數就是實例本身。

和函數一樣,實例方法也是可以有參數的。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.11所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.11 實例方法多參數

Python的類中有一些“魔法方法”,_init_()方法就是其中之一。在我們創造實例的時候,不需要引用該方法也會被自動執行。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.12所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.12 魔術方法

4. 類的繼承

共享單車的出現,方便了人們的出行。共享單車和原來的自行車組成結構類似,但多了付費的功能。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

結果如圖1.13所示。

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

圖1.13 類的繼承

在新的類Share_bike後面的括號中加入Bike,表示Share_bike繼承了Bike父類。父類中的變量和方法可以完全被子類繼承,在特殊情況下,也可以對其覆蓋。

最後:學習Python的有用資源

好像大家都有一個毛病,就是到處蒐集資源,雲盤裡有很多東西,但是基本是從來都不看,所以說視頻在精不在於多,我當時自學python的時候也蒐集了各種視頻,這裡看看,那裡看看,學的一點都不繫統,而且學了之後也找不到工作,視頻一定要最新的,python更新的快,舊的是不可以的。小編給大家分享一套2019年7月份最新的python視頻教程,共400集,帶你從入門到達手寫網絡神經的地步,

領取方式:轉發本文,

然後來私信小編“python”即可免費獲取這套教程和電子書籍啦!

從Python安裝到語法基礎,小白都能懂的爬蟲教程!(附學習教程)

"

相關推薦

推薦中...