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