Python爬蟲項目教程

Python爬蟲項目教程

《Python爬蟲項目教程》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:Python爬蟲項目教程
  • 作者:黃銳軍
  • 出版時間:2021年
  • 出版社:人民郵電出版社
  • ISBN:9787115569998
  • 類別:教材類圖書
  • 開本:128 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

本書以Python語言為基礎,介紹了爬蟲的基礎知識。本書包括6個實戰項目,分別為爬取外匯網站數據、爬取名言網站數據、爬取電影網站數據、爬取圖書網站數據、爬取商城網站數據、爬取景區網站數據,通過這些項目講解了Python的Web訪問技術、BeautifulSoup的數據分析與提取技術、深度優先與廣度優先順序爬取技術、多執行緒網頁爬取技術、scrapy分散式爬取框架技術、selenium爬蟲程式技術、AWS中的DynamoDB資料庫的NoSQL存儲技術等。本書每個項目都遵循由淺入深的學習規律,採取理論與實踐相結合的方式來引導讀者完成實戰。
本書可作為計算機軟體技術專業及其相關專業的程式設計課程教材。

圖書目錄

項目1 爬取外匯網站數據 1
1.1 項目任務 1
1.2 搭建爬蟲程式開發環境 1
1.2.1 理解爬蟲程式 2
1.2.2 搭建開發環境 2
1.3 使用Flask創建Web網站 3
1.3.1 安裝Flask框架 3
1.3.2 創建模擬外匯網站 4
1.3.3 編寫客戶端程式並獲取網站的HTML代碼 5
1.4 使用GET方法訪問Web網站 7
1.4.1 客戶端使用GET方法傳送數據 7
1.4.2 伺服器端使用GET方法獲取數據 8
1.5 使用POST方法訪問Web網站 9
1.5.1 客戶端使用POST方法傳送數據 9
1.5.2 伺服器端使用POST方法獲取數據 10
1.5.3 混合使用GET與POST方法 11
1.6 使用正則表達式匹配數據 13
1.6.1 使用正則表達式匹配字元串 14
1.6.2 使用正則表達式爬取數據 17
1.7 綜合項目 爬取模擬外匯網站數據 18
1.7.1 創建模擬外匯網站 18
1.7.2 解析網站的HTML代碼 19
1.7.3 設計存儲資料庫 19
1.7.4 編寫爬蟲程式 20
1.7.5 執行爬蟲程式 22
1.8 實戰項目 爬取實際外匯網站數據 22
1.8.1 解析網站的HTML代碼 22
1.8.2 爬取網站外匯匯率數據 24
1.8.3 設計存儲資料庫 25
1.8.4 編寫爬蟲程式 26
1.8.5 執行爬蟲程式 28
項目總結 29
練習1 29
項目2 爬取名言網站數據 30
2.1 項目任務 30
2.2 使用BeautifulSoup裝載HTML文檔 30
2.2.1 創建模擬名言網站 31
2.2.2 安裝BeautifulSoup程式包 32
2.2.3 裝載HTML文檔 32
2.3 使用BeautifulSoup查找HTML元素 34
2.3.1 使用find()函式查找 34
2.3.2 查找元素屬性與文本 37
2.3.3 使用find_all()函式查找 38
2.3.4 使用高級查找 40
2.4 使用BeautifulSoup遍歷文檔元素 42
2.4.1 獲取元素節點的父節點 42
2.4.2 獲取元素節點的直接子節點 43
2.4.3 獲取元素節點的所有子孫節點 44
2.4.4 獲取元素節點的兄弟節點 45
2.5 BeautifulSoup支持使用CSS語法進行查找 46
2.5.1 使用CSS語法查找 47
2.5.2 使用屬性的語法規則 48
2.5.3 使用select()查找子孫節點 49
2.5.4 使用select()查找直接子節點 49
2.5.5 使用select()查找兄弟節點 49
2.5.6 使用select_one()查找單一元素 50
2.6 綜合項目 爬取模擬名言網站數據 51
2.6.1 創建模擬名言網站 51
2.6.2 爬取名言數據 51
2.6.3 設計存儲資料庫 52
2.6.4 編寫爬蟲程式 52
2.6.5 執行爬蟲程式 54
2.7 實戰項目 爬取實際名言網站
數據 55
2.7.1 解析網站的HTML代碼 55
2.7.2 爬取全部頁面的數據 56
2.7.3 編寫爬蟲程式 57
2.7.4 執行爬蟲程式 59
項目總結 60
練習2 60
項目3 爬取電影網站數據 63
3.1 項目任務 63
3.2 簡單爬取網站數據 64
3.2.1 創建模擬電影網站 65
3.2.2 爬取網站數據 66
3.2.3 編寫爬蟲程式 68
3.2.4 執行爬蟲程式 69
3.3 遞歸爬取網站數據 69
3.3.1 創建模擬電影網站 69
3.3.2 解析電影網站結構 72
3.3.3 遞歸爬取電影網站數據 72
3.4 深度優先爬取網站數據 73
3.4.1 深度優先法 73
3.4.2 深度優先爬蟲程式 74
3.5 廣度優先爬取網站數據 75
3.5.1 廣度優先法 75
3.5.2 廣度優先爬蟲程式 76
3.6 爬取翻頁網站數據 77
3.6.1 使用Flask模板參數 77
3.6.2 創建翻頁電影網站 81
3.6.3 編寫爬蟲程式 84
3.6.4 執行爬蟲程式 85
3.7 爬取網站全部圖像 86
3.7.1 創建模擬電影網站 86
3.7.2 使用單執行緒程式爬取圖像 88
3.7.3 使用Python的多執行緒 90
3.7.4 使用多執行緒程式爬取圖像 93
3.8 綜合項目 爬取模擬電影網站數據 95
3.8.1 創建模擬電影網站 95
3.8.2 設計存儲資料庫 98
3.8.3 編寫爬蟲程式 99
3.8.4 執行爬蟲程式 102
3.9 實戰項目 爬取實際電影網站數據 103
3.9.1 解析電影網站的HTML代碼 103
3.9.2 爬取電影網站數據 105
3.9.3 編寫爬蟲程式 107
3.9.4 執行爬蟲程式 111
項目總結 112
練習3 112
項目4 爬取圖書網站數據 113
4.1 項目任務 113
4.2 使用scrapy創建爬蟲程式 115
4.2.1 創建網站伺服器程式 115
4.2.2 安裝scrapy框架 115
4.2.3 scrapy項目的創建 115
4.2.4 入口函式與入口地址 118
4.2.5 Python的yield語句 118
4.3 使用BeautifulSoup爬取數據 119
4.3.1 創建模擬圖書網站 119
4.3.2 解析網站的HTML代碼 120
4.3.3 爬取圖書圖像 121
4.3.4 編寫爬蟲程式 122
4.3.5 執行爬蟲程式 123
4.4 使用XPath查找元素 123
4.4.1 scrapy的XPath簡介 124
4.4.2 使用XPath查找HTML元素 125
4.4.3 使用XPath與BeautifulSoup 134
4.5 爬取關聯網頁數據 135
4.5.1 創建模擬圖書網站 135
4.5.2 程式爬取網頁的順序 137
4.5.3 理解scrapy分散式 139
4.6 使用XPath爬取數據 140
4.6.1 創建模擬圖書網站 140
4.6.2 解析網站的HTML代碼 142
4.6.3 爬取圖書圖像 143
4.6.4 設計資料庫存儲 144
4.6.5 編寫爬蟲程式 144
4.6.6 執行爬蟲程式 146
4.7 使用管道存儲數據 147
4.7.1 創建模擬圖書網站 147
4.7.2 編寫數據欄位類 149
4.7.3 編寫爬蟲程式類 150
4.7.4 編寫數據管道類 151
4.7.5 設定scrapy的配置檔案 153
4.7.6 執行爬蟲程式 153
4.8 綜合項目 爬取模擬圖書網站數據 154
4.8.1 創建模擬圖書網站 154
4.8.2 編寫數據欄位類 157
4.8.3 編寫數據管道類 157
4.8.4 編寫爬蟲程式類 158
4.8.5 設定scrapy的配置檔案 160
4.8.6 執行爬蟲程式 160
4.9 實戰項目 爬取實際圖書網站數據 161
4.9.1 解析網站的HTML代碼 161
4.9.2 爬取網站圖書數據 164
4.9.3 實現自動翻頁 165
4.9.4 編寫爬蟲程式 167
4.9.5 執行爬蟲程式並查看爬取結果 170
項目總結 172
練習4 172
項目5 爬取商城網站數據 174
5.1 項目任務 174
5.2 使用selenium編寫爬蟲程式 176
5.2.1 JavaScript程式控制網頁 176
5.2.2 普通爬蟲程式的問題 177
5.2.3 安裝selenium與Chrome驅動程式 178
5.2.4 編寫selenium爬蟲程式 178
5.3 使用selenium查找HTML元素 180
5.3.1 創建模擬商城網站 180
5.3.2 使用XPath查找元素 182
5.3.3 查找元素的文本與屬性 182
5.3.4 使用id值查找元素 184
5.3.5 使用name屬性值查找元素 184
5.3.6 使用CSS查找元素 184
5.3.7 使用tagName查找元素 185
5.3.8 使用文本查找超連結 186
5.3.9 使用class值查找元素 186
5.4 使用selenium實現用戶登錄 187
5.4.1 創建用戶登錄網站 187
5.4.2 使用元素動作 188
5.4.3 編寫爬蟲程式 189
5.4.4 執行JavaScript程式 191
5.5 使用selenium爬取Ajax網頁數據 192
5.5.1 創建Ajax網站 192
5.5.2 理解selenium爬蟲程式 194
5.5.3 編寫爬蟲程式 197
5.5.4 執行爬蟲程式 198
5.6 使用selenium等待HTML元素 198
5.6.1 創建延遲模擬網站 199
5.6.2 編寫爬蟲程式 200
5.6.3 selenium強制等待 200
5.6.4 selenium隱式等待 201
5.6.5 selenium循環等待與顯式等待 202
5.6.6 selenium顯式等待形式 204
5.7 綜合項目 爬取模擬商城網站數據 205
5.7.1 創建模擬商城網站 205
5.7.2 爬取網站數據並實現網頁翻頁 209
5.7.3 設計數據存儲與圖像存儲 210
5.7.4 編寫爬蟲程式 211
5.7.5 執行爬蟲程式 214
5.8 實戰項目 爬取實際商城網站數據 215
5.8.1 解析網站的HTML代碼 215
5.8.2 爬取網站數據 218
5.8.3 實現網頁翻頁 220
5.8.4 編寫爬蟲程式 222
5.8.5 執行爬蟲程式 226
項目總結 228
練習5 228
項目6 爬取景區網站數據 230
6.1 項目任務 230
6.2 使用DynamoDB存儲模擬景區網站數據 231
6.2.1 創建模擬景區網站 231
6.2.2 爬取網站數據 233
6.2.3 編寫爬蟲程式 234
6.2.4 執行爬蟲程式 235
6.2.5 DynamoDB簡介 235
6.3 登錄AWS資料庫 236
6.3.1 登錄AWS 236
6.3.2 創建資料庫表 238
6.4 DynamoDB資料庫操作 240
6.4.1 存儲數據 240
6.4.2 讀取數據 241
6.4.3 修改數據 242
6.4.4 刪除數據 243
6.4.5 掃描數據 243
6.4.6 刪除資料庫表 244
6.5 綜合項目 爬取模擬景區網站數據 245
6.5.1 創建模擬景區網站 245
6.5.2 編寫爬蟲程式 245
6.5.3 執行爬蟲程式 248
6.6 實戰項目 爬取實際景區網站數據 249
6.6.1 解析網站的HTML代碼 250
6.6.2 爬取網站景區數據 252
6.6.3 爬取全部頁面的數據 254
6.6.4 設計存儲資料庫 255
6.6.5 編寫爬蟲程式 255
6.6.6 執行爬蟲程式 259
項目總結 260
練習6 260

作者簡介

黃銳軍, 深圳信息職業技術學院軟體學院副教授,研究生學歷。主要從事計算機軟體技術課程教學,有二十多年的職業教學經歷。從事軟體開發,先後為深圳市職業技能鑑定中心開發了序列套用軟體。

相關詞條

熱門詞條

聯絡我們