Python網絡爬蟲從入門到進階實戰
明日科技
- 出版商: 化學工業
- 出版日期: 2024-03-01
- 定價: $594
- 售價: 8.5 折 $505
- 語言: 簡體中文
- 頁數: 285
- ISBN: 7122448347
- ISBN-13: 9787122448347
-
相關分類:
Web-crawler 網路爬蟲
下單後立即進貨 (約4週~6週)
相關主題
商品描述
《Python 網絡爬蟲從入門到進階實戰》從零基礎入門學習者的角度出發,通過通俗易懂的語言、豐富多彩的實例,循序漸進地讓讀者在實踐中學習Python網絡爬蟲知識,並提升自己的實際開發能力。
本書主要介紹了爬蟲基礎知識、常用網絡請求模塊的使用(urllib3 模塊、Requests 模塊、高級網絡請求模塊)、數據解析與存儲(re 模塊的正則表達式、XPath 的使用、Beautiful Soup 模塊)、爬取動態渲染的數據、多線程爬蟲、多進程爬蟲、抓取App 數據、識別驗證碼、Scrapy 爬蟲框架與Scrapy-Redis 分佈式爬蟲等內容。
本書知識講解詳細,側重講解知識使用場景,涉及的代碼給出了詳細的註釋,可以使讀者輕松領會Python 網絡爬蟲程序開發的精髓,快速提高開發技能。
本書適合作為Python 網絡爬蟲程序開發入門者的自學用書,也適合作為高等院校相關專業的教學參考書,亦可供開發人員查閱、參考。
目錄大綱
第1篇 爬蟲基礎篇
第1章 認識爬蟲 002
1.1 網絡爬蟲概述 002
1.2 網絡爬蟲的分類 002
1.3 網絡爬蟲的基本原理 003
1.4 爬蟲環境搭建 004
本章知識思維導圖 004
第2章 爬蟲基礎知識 005
2.1 HTTP 基本原理 005
2.1.1 HTTP 協議 005
2.1.2 HTTP 與Web 服務器 005
2.1.3 瀏覽器中的請求和響應 006
2.2 HTML 語言 008
2.2.1 什麽是HTML 008
2.2.2 瞭解HTML 結構 008
2.2.3 HTML 的基本標簽 009
2.3 CSS 層疊樣式表 011
2.3.1 CSS 概述 011
2.3.2 屬性選擇器 012
2.3.3 類和id 選擇器 013
2.4 JavaScript 動態腳本語言 013
本章知識思維導圖 016
第2篇 網絡模塊篇
第3章 urllib3 模塊 018
3.1 urllib3 簡介 018
3.2 發送網絡請求 019
3.2.1 GET 請求 019
3.2.2 POST 請求 020
3.2.3 重試請求 021
3.2.4 處理響應內容 022
3.3 覆雜請求的發送 024
3.3.1 設置請求頭 024
3.3.2 設置超時 025
3.3.3 設置代理IP 026
3.4 上傳文件 027
本章知識思維導圖 029
第4章 Requests 模塊 030
4.1 請求方式 030
4.1.1 GET(不帶參)請求 031
4.1.2 對響應結果進行utf-8 編碼 031
4.1.3 爬取二進制數據 032
4.1.4 GET(帶參)請求 033
4.1.5 POST 請求 034
4.2 覆雜的網絡請求 035
4.2.1 添加請求頭headers 036
4.2.2 驗證Cookies 036
4.2.3 會話請求 038
4.2.4 驗證請求 039
4.2.5 網絡超時與異常 040
4.2.6 上傳文件 041
4.3 代理服務 043
4.3.1 代理的應用 043
4.3.2 獲取免費的代理IP 044
4.3.3 檢測代理IP 是否有效 045
本章知識思維導圖 047
第5章 高級網絡請求模塊 048
5.1 Requests-Cache 的安裝與測試 048
5.2 緩存的應用 049
5.3 強大的Requests-HTML 模塊 052
5.3.1 使用Requests-HTML 實現網絡請求 052
5.3.2 數據的提取 054
5.3.3 獲取動態加載的數據 058
本章知識思維導圖 062
第3篇 數據解析與存儲篇
第6章 re 模塊的正則表達式 064
6.1 使用search() 方法匹配字符串 064
6.1.1 獲取第一個指定字符開頭的字符串 064
6.1.2 可選匹配 065
6.1.3 匹配字符串邊界 066
6.2 使用findall() 方法匹配字符串 067
6.2.1 匹配所有指定字符開頭的字符串 067
6.2.2 貪婪匹配 068
6.2.3 非貪婪匹配 068
6.3 字符串處理 070
6.3.1 替換字符串 070
6.3.2 分割字符串 071
6.4 案例:爬取編程e 學網視頻 072
6.4.1 查找視頻頁面 072
6.4.2 分析視頻地址 074
6.4.3 實現視頻下載 075
本章知識思維導圖 077
第7章 XPath 的使用 078
7.1 XPath 概述 078
7.2 XPath 的解析操作 079
7.2.1 解析HTML 079
7.2.2 獲取所有節點 081
7.2.3 獲取子節點 083
7.2.4 獲取父節點 085
7.2.5 獲取文本 086
7.2.6 屬性匹配 087
7.2.7 獲取屬性 089
7.2.8 按序獲取屬性值 090
7.2.9 使用節點軸獲取節點內容 091
7.3 案例:爬取豆瓣電影Top250 093
7.3.1 分析請求地址 093
7.3.2 分析信息位置 094
7.3.3 爬蟲代碼的實現 095
本章知識思維導圖 097
第8章 Beautiful Soup 模塊 098
8.1 使用Beautiful Soup 解析數據 098
8.1.1 Beautiful Soup 的安裝 098
8.1.2 解析器 099
8.1.3 Beautiful Soup 的簡單應用 100
8.2 獲取節點內容 101
8.2.1 獲取節點對應的代碼 101
8.2.2 獲取節點屬性 103
8.2.3 獲取節點包含的文本內容 104
8.2.4 嵌套獲取節點內容 105
8.2.5 關聯獲取 106
8.3 調用方法獲取內容 111
8.3.1 find_all()——獲取所有符合條件的內容 111
8.3.2 find()——獲取第一個匹配的節點內容 115
8.3.3 其他方法 116
8.4 CSS 選擇器 117
本章知識思維導圖 120
第9章 數據處理與文件存取 121
9.1 瞭解pandas 數據結構 121
9.1.1 Series 對象 121
9.1.2 DataFrame 對象 124
9.2 數據處理 126
9.2.1 增添數據 126
9.2.2 刪除數據 126
9.2.3 修改數據 127
9.2.4 查詢數據 128
9.3 NaN 數據處理 130
9.4 去除重覆數據 133
9.5 文件的存取 135
9.5.1 基本文件操作TXT 135
9.5.2 存取CSV 文件 140
9.5.3 存取Excel 文件 143
9.6 MySQL 數據庫的使用 144
9.6.1 連接數據庫 144
9.6.2 創建數據表 145
9.6.3 操作MySQL 數據表 146
本章知識思維導圖 148
第4篇 技能進階篇
第10章 爬取動態渲染的數據 150
10.1 Ajax 數據的爬取 150
10.2 使用selenium 爬取動態加載的信息 154
10.2.1 安裝selenium 模塊 154
10.2.2 下載瀏覽器驅動 154
10.2.3 selenium 模塊的使用 155
10.3 Splash 的爬蟲應用 157
10.3.1 Splash 中的HTTP API 158
10.3.2 執行lua 自定義腳本 161
本章知識思維導圖 163
第11章 多線程爬蟲 164
11.1 進程與線程 164
11.1.1 什麽是進程 164
11.1.2 什麽是線程 165
11.2 創建線程 165
11.2.1 使用threading 模塊創建線程 165
11.2.2 使用Thread 子類創建線程 166
11.3 線程間通信 167
11.3.1 什麽是互斥鎖 168
11.3.2 使用互斥鎖 169
11.3.3 使用隊列在線程間通信 170
11.4 多線程爬蟲 172
本章知識思維導圖 178
第12章 多進程爬蟲 179
12.1 創建進程 179
12.1.1 使用multiprocessing 模塊創建進程 179
12.1.2 使用Process 子類創建進程 183
12.1.3 使用進程池Pool 創建進程 184
12.2 進程間通信 187
12.2.1 隊列簡介 188
12.2.2 多進程隊列的使用 189
12.2.3 使用隊列在進程間通信 191
12.3 多進程爬蟲 192
本章知識思維導圖 197
第13章 爬取App 數據 198
13.1 Charles 工具的下載與安裝 198
13.2 SSL 證書的安裝 202
13.2.1 安裝PC 端證書 202
13.2.2 設置代理 206
13.2.3 配置網絡 207
13.2.4 安裝手機端證書 210
13.3 案例:爬取App 數據 213
本章知識思維導圖 215
第14章 識別驗證碼 216
14.1 字符驗證碼 216
14.1.1 搭建OCR 環境 216
14.1.2 下載驗證碼圖片 218
14.1.3 識別驗證碼 219
14.2 第三方驗證碼識別 221
14.3 滑動拼圖驗證碼 225
本章知識思維導圖 228
第5篇 框架篇
第15章 Scrapy 爬蟲框架 230
15.1 瞭解Scrapy 爬蟲框架 230
15.2 搭建Scrapy 爬蟲框架 231
15.2.1 使用Anaconda 安裝Scrapy 231
15.2.2 Windows 系統下配置Scrapy 233
15.3 Scrapy 的基本應用 235
15.3.1 創建Scrapy 項目 235
15.3.2 創建爬蟲 236
15.3.3 獲取數據 240
15.3.4 將爬取的數據保存為多種格式的文件 243
15.4 編寫Item Pipeline 244
15.4.1 項目管道的核心方法 244
15.4.2 將信息存儲到數據庫中 245
15.5 自定義中間件 248
15.5.1 設置隨機請求頭 249
15.5.2 設置Cookies 252
15.5.3 設置代理ip 255
15.6 文件下載 257
本章知識思維導圖 260
第16章 Scrapy-Redis 分佈式爬蟲 261
16.1 安裝Redis 數據庫 261
16.2 Scrapy-Redis 模塊 264
16.3 分佈式爬取新聞數據 265
16.4 自定義分佈式爬蟲 277
本章知識思維導圖 285