內容簡介
該書共20章,每一章都是關於Python網路爬蟲知識的介紹。
網路爬蟲是網際網路上進行信息採集的通用手段,在網際網路的各個專業方向上都是不可或缺的底層技術支撐。該書從爬蟲基礎開始,全面介紹了Python網路爬蟲技術,並且包含各種經典的網路爬蟲項目案例。
全書共20章,劃分為四篇。理論基礎篇主要介紹Python網路爬蟲技術的理論基礎,核心技術篇內容涵蓋Urllib、正則表達式、Cookie處理、手寫Python網路爬蟲、Fiddler抓包分析、瀏覽器偽裝、爬蟲定向抓取技術,框架實現篇主要包括Scrapy安裝與配置、Scrapy框架基礎、Scrapy核心架構、Scrapy中文處理、CrawlSpider、Scrapy高級套用等,項目實戰篇主要包含部落格類爬蟲項目、圖片類爬蟲項目、模擬登錄爬蟲項目等。
作者簡介
韋瑋,現任重慶韜翔網路科技有限公司創始人兼CEO,51CTO、CSDN等技術社區特邀專家與講師,輸出了大量的優質文章與課程。
圖書目錄
前 言
第一篇 理論基礎篇
第1章 什麼是網路爬蟲 3
1.1 初識網路爬蟲 3
1.2 為什麼要學網路爬蟲 4
1.3 網路爬蟲的組成 5
1.4 網路爬蟲的類型 6
1.5 爬蟲擴展——聚焦爬蟲 7
1.6 小結 8
第2章 網路爬蟲技能總覽 9
2.1 網路爬蟲技能總覽圖 9
2.2 搜尋引擎核心 10
2.3 用戶爬蟲的那些事兒 11
2.4 小結 12
第二篇 核心技術篇
第3章 網路爬蟲實現原理與實現技術 15
3.1 網路爬蟲實現原理詳解 15
3.2 爬行策略 17
3.3 網頁更新策略 18
3.4 網頁分析算法 20
3.5 身份識別 21
3.6 網路爬蟲實現技術 21
3.7 實例——metaseeker 22
3.8 小結 27
第4章 Urllib庫與URLError異常處理 29
4.1 什麼是Urllib庫 29
4.2 快速使用Urllib爬取網頁 30
4.3 瀏覽器的模擬——Headers屬性 34
4.4 逾時設定 37
4.5 HTTP協定請求實戰 39
4.6 代理伺服器的設定 44
4.7 DebugLog實戰 45
4.8 異常處理神器——URLError實戰 46
4.9 小結 51
第5章 正則表達式與Cookie的使用 52
5.1 什麼是正則表達式 52
5.2 正則表達式基礎知識 52
5.3 正則表達式常見函式 61
5.4 常見實例解析 64
5.5 什麼是Cookie 66
5.6 Cookiejar實戰精析 66
5.7 小結 71
第6章 手寫Python爬蟲 73
6.1 圖片爬蟲實戰 73
6.2 連結爬蟲實戰 78
6.3 糗事百科爬蟲實戰 80
6.4 微信爬蟲實戰 82
6.5 什麼是多執行緒爬蟲 89
6.6 多執行緒爬蟲實戰 90
6.7 小結 98
第7章 學會使用Fiddler 99
7.1 什麼是Fiddler 99
7.2 爬蟲與Fiddler的關係 100
7.3 Fiddler的基本原理與基本界面 100
7.4 Fiddler捕獲會話功能 102
7.5 使用QuickExec命令行 104
7.6 Fiddler斷點功能 106
7.7 Fiddler會話查找功能 111
7.8 Fiddler的其他功能 111
7.9 小結 113
第8章 爬蟲的瀏覽器偽裝技術 114
8.1 什麼是瀏覽器偽裝技術 114
8.2 瀏覽器偽裝技術準備工作 115
8.3 爬蟲的瀏覽器偽裝技術實戰 117
8.4 小結 121
第9章 爬蟲的定向爬取技術 122
9.1 什麼是爬蟲的定向爬取技術 122
9.2 定向爬取的相關步驟與策略 123
9.3 定向爬取實戰 124
9.4 小結 130
第三篇 框架實現篇
第10章 了解Python爬蟲框架 133
10.1 什麼是Python爬蟲框架 133
10.2 常見的Python爬蟲框架 133
10.3 認識Scrapy框架 134
10.4 認識Crawley框架 135
10.5 認識Portia框架 136
10.6 認識newspaper框架 138
10.7 認識Python-goose框架 139
10.8 小結 140
第11章 爬蟲利器——Scrapy安裝與配置 141
11.1 在Windows7下安裝及配置Scrapy實戰詳解 141
11.2 在Linux(Centos)下安裝及配置Scrapy實戰詳解 147
11.3 在MAC下安裝及配置Scrapy實戰詳解 158
11.4 小結 161
第12章 開啟Scrapy爬蟲項目之旅 162
12.1 認識Scrapy項目的目錄結構 162
12.2 用Scrapy進行爬蟲項目管理 163
12.3 常用工具命令 166
12.4 實戰:Items的編寫 181
12.5 實戰:Spider的編寫 183
12.6 XPath基礎 187
12.7 Spider類參數傳遞 188
12.8 用XMLFeedSpider來分析XML源 191
12.9 學會使用CSVFeedSpider 197
12.10 Scrapy爬蟲多開技能 200
12.11 避免被禁止 206
12.12 小結 212
第13章 Scrapy核心架構 214
13.1 初識Scrapy架構 214
13.2 常用的Scrapy組件詳解 215
13.3 Scrapy工作流 217
13.4 小結 219
第14章 Scrapy中文輸出與存儲 220
14.1 Scrapy的中文輸出 220
14.2 Scrapy的中文存儲 223
14.3 輸出中文到JSON檔案 225
14.4 小結 230
第15章 編寫自動爬取網頁的爬蟲 231
15.1 實戰:items的編寫 231
15.2 實戰:pipelines的編寫 233
15.3 實戰:settings的編寫 234
15.4 自動爬蟲編寫實戰 234
15.5 調試與運行 239
15.6 小結 242
第16章 CrawlSpider 243
16.1 初識CrawlSpider 243
16.2 連結提取器 244
16.3 實戰:CrawlSpider實例 245
16.4 小結 249
第17章 Scrapy高級套用 250
17.1 如何在Python3中運算元據庫 250
17.2 爬取內容寫進MySQL 254
17.3 小結 259
第四篇 項目實戰篇
第18章 部落格類爬蟲項目 263
18.1 部落格類爬蟲項目功能分析 263
18.2 部落格類爬蟲項目實現思路 264
18.3 部落格類爬蟲項目編寫實戰 264
18.4 調試與運行 274
18.5 小結 275
第19章 圖片類爬蟲項目 276
19.1 圖片類爬蟲項目功能分析 276
19.2 圖片類爬蟲項目實現思路 277
19.3 圖片類爬蟲項目編寫實戰 277
19.4 調試與運行 281
19.5 小結 282
第20章 模擬登錄爬蟲項目 283
20.1 模擬登錄爬蟲項目功能分析 283
20.2 模擬登錄爬蟲項目實現思路 283
20.3 模擬登錄爬蟲項目編寫實戰 284
20.4 調試與運行 292
20.5 小結 294