Python爬蟲開發(fā)與項(xiàng)目實(shí)戰(zhàn)
定 價:79 元
叢書名:實(shí)戰(zhàn)
- 作者:范傳輝
- 出版時間:2017/6/6
- ISBN:9787111563877
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:423
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言與HTML基礎(chǔ)知識引領(lǐng)讀者入門,之后根據(jù)當(dāng)前風(fēng)起云涌的云計(jì)算、大數(shù)據(jù)熱潮,重點(diǎn)講述了云計(jì)算的相關(guān)內(nèi)容及其在爬蟲中的應(yīng)用,進(jìn)而介紹如何設(shè)計(jì)自己的爬蟲應(yīng)用。主要內(nèi)容分為基礎(chǔ)篇、中級篇、深入篇,基礎(chǔ)篇包括Python編程基礎(chǔ)、Web前端基礎(chǔ)、HTML基礎(chǔ)知識、基礎(chǔ)爬蟲設(shè)計(jì)、強(qiáng)化爬蟲技術(shù)等。中級篇包括數(shù)據(jù)存儲、動態(tài)網(wǎng)站抓取、協(xié)議分析、Scrapy爬蟲框架分析及實(shí)戰(zhàn)案例等。高級篇包括增量式爬蟲、分布式爬蟲、人性化爬蟲等框架設(shè)計(jì)。
零基礎(chǔ)學(xué)習(xí)爬蟲技術(shù),從Python和Web前端基礎(chǔ)開始講起,由淺入深,包含大量案例,實(shí)用性強(qiáng)。
從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機(jī)爬蟲到分布式爬蟲,涵蓋Scrapy和PySpider框架的運(yùn)用、去重方案的設(shè)計(jì)和分布式爬蟲的搭建等。
這是一本實(shí)戰(zhàn)性很強(qiáng)的書,書中共有9個爬蟲項(xiàng)目,以系統(tǒng)的實(shí)戰(zhàn)項(xiàng)目為驅(qū)動,由淺及深地講解爬蟲開發(fā)中所需的知識和技能。從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機(jī)爬蟲到分布式爬蟲,既包含基礎(chǔ)知識點(diǎn),又講解了關(guān)鍵問題和難點(diǎn)分析,包含從入門到進(jìn)階的所有知識。讀者認(rèn)真學(xué)習(xí)完本書之后不再是個菜鳥,可以自主地開發(fā)Python爬蟲項(xiàng)目。
范傳輝,資深網(wǎng)蟲,Python開發(fā)者,參與開發(fā)了多項(xiàng)網(wǎng)絡(luò)應(yīng)用,在實(shí)際開發(fā)中積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),并善于總結(jié),貢獻(xiàn)了多篇技術(shù)文章廣受好評。研究興趣是網(wǎng)絡(luò)安全、爬蟲技術(shù)、數(shù)據(jù)分析、驅(qū)動開發(fā)等技術(shù)。
目 錄
前言
基礎(chǔ)篇
第1章 回顧Python編程2
1.1 安裝Python2
1.1.1 Windows上安裝Python2
1.1.2 Ubuntu上的Python3
1.2 搭建開發(fā)環(huán)境4
1.2.1 Eclipse+PyDev4
1.2.2 PyCharm10
1.3 IO編程11
1.3.1 文件讀寫11
1.3.2 操作文件和目錄14
1.3.3 序列化操作15
1.4 進(jìn)程和線程16
1.4.1 多進(jìn)程16
1.4.2 多線程22
1.4.3 協(xié)程25
1.4.4 分布式進(jìn)程27
1.5 網(wǎng)絡(luò)編程32
1.5.1 TCP編程33
1.5.2 UDP編程35
1.6 小結(jié)36
第2章 Web前端基礎(chǔ)37
2.1 W3C標(biāo)準(zhǔn)37
2.1.1 HTML37
2.1.2 CSS47
2.1.3 JavaScript51
2.1.4 XPath56
2.1.5 JSON61
2.2 HTTP標(biāo)準(zhǔn)61
2.2.1 HTTP請求過程62
2.2.2 HTTP狀態(tài)碼含義62
2.2.3 HTTP頭部信息63
2.2.4 Cookie狀態(tài)管理66
2.2.5 HTTP請求方式66
2.3 小結(jié)68
第3章 初識網(wǎng)絡(luò)爬蟲69
3.1 網(wǎng)絡(luò)爬蟲概述69
3.1.1 網(wǎng)絡(luò)爬蟲及其應(yīng)用69
3.1.2 網(wǎng)絡(luò)爬蟲結(jié)構(gòu)71
3.2 HTTP請求的Python實(shí)現(xiàn)72
3.2.1 urllib2/urllib實(shí)現(xiàn)72
3.2.2 httplib/urllib實(shí)現(xiàn)76
3.2.3 更人性化的Requests77
3.3 小結(jié)82
第4章 HTML解析大法83
4.1 初識Firebug83
4.1.1 安裝Firebug84
4.1.2 強(qiáng)大的功能84
4.2 正則表達(dá)式95
4.2.1 基本語法與使用96
4.2.2 Python與正則102
4.3 強(qiáng)大的BeautifulSoup108
4.3.1 安裝BeautifulSoup108
4.3.2 BeautifulSoup的使用109
4.3.3 lxml的XPath解析124
4.4 小結(jié)126
第5章 數(shù)據(jù)存儲(無數(shù)據(jù)庫版)127
5.1 HTML正文抽取127
5.1.1 存儲為JSON127
5.1.2 存儲為CSV132
5.2 多媒體文件抽取136
5.3 Email提醒137
5.4 小結(jié)138
第6章 實(shí)戰(zhàn)項(xiàng)目:基礎(chǔ)爬蟲139
6.1 基礎(chǔ)爬蟲架構(gòu)及運(yùn)行流程140
6.2 URL管理器141
6.3 HTML下載器142
6.4 HTML解析器143
6.5 數(shù)據(jù)存儲器145
6.6 爬蟲調(diào)度器146
6.7 小結(jié)147
第7章 實(shí)戰(zhàn)項(xiàng)目:簡單分布式爬蟲148
7.1 簡單分布式爬蟲結(jié)構(gòu)148
7.2 控制節(jié)點(diǎn)149
7.2.1 URL管理器149
7.2.2 數(shù)據(jù)存儲器151
7.2.3 控制調(diào)度器153
7.3 爬蟲節(jié)點(diǎn)155
7.3.1 HTML下載器155
7.3.2 HTML解析器156
7.3.3 爬蟲調(diào)度器157
7.4 小結(jié)159
中級篇
第8章 數(shù)據(jù)存儲(數(shù)據(jù)庫版)162
8.1 SQLite162
8.1.1 安裝SQLite162
8.1.2 SQL語法163
8.1.3 SQLite增刪改查168
8.1.4 SQLite事務(wù)170
8.1.5 Python操作SQLite171
8.2 MySQL174
8.2.1 安裝MySQL174
8.2.2 MySQL基礎(chǔ)177
8.2.3 Python操作MySQL181
8.3 更適合爬蟲的MongoDB183
8.3.1 安裝MongoDB184
8.3.2 MongoDB基礎(chǔ)187
8.3.3 Python操作MongoDB194
8.4 小結(jié)196
第9章 動態(tài)網(wǎng)站抓取197
9.1 Ajax和動態(tài)HTML197
9.2 動態(tài)爬蟲1:爬取影評信息198
9.3 PhantomJS207
9.3.1 安裝PhantomJS207
9.3.2 快速入門208
9.3.3 屏幕捕獲211
9.3.4 網(wǎng)絡(luò)監(jiān)控213
9.3.5 頁面自動化214
9.3.6 常用模塊和方法215
9.4 Selenium218
9.4.1 安裝Selenium219
9.4.2 快速入門220
9.4.3 元素選取221
9.4.4 頁面操作222
9.4.5 等待225
9.5 動態(tài)爬蟲2:爬取去哪網(wǎng)227
9.6 小結(jié)230
第10章 Web端協(xié)議分析231
10.1 網(wǎng)頁登錄POST分析231
10.1.1 隱藏表單分析231
10.1.2 加密數(shù)據(jù)分析234
10.2 驗(yàn)證碼問題246
10.2.1 IP代理246
10.2.2 Cookie登錄249
10.2.3 傳統(tǒng)驗(yàn)證碼識別250
10.2.4 人工打碼251
10.2.5 滑動驗(yàn)證碼252
10.3 www>m>wap252
10.4 小結(jié)254
第11章 終端協(xié)議分析255
11.1 PC客戶端抓包分析255
11.1.1 HTTP Analyzer簡介255
11.1.2 蝦米音樂PC端API實(shí)戰(zhàn)分析257
11.2 App抓包分析259
11.2.1 Wireshark簡介259
11.2.2 酷我聽書App端API實(shí)戰(zhàn)分析266
11.3 API爬蟲:爬取mp3資源信息268
11.4 小結(jié)272
第12章 初窺Scrapy爬蟲框架273
12.1 Scrapy爬蟲架構(gòu)273
12.2 安裝Scrapy275
12.3 創(chuàng)建cnblogs項(xiàng)目276
12.4 創(chuàng)建爬蟲模塊277
12.5 選擇器278
12.5.1 Selector的用法278
12.5.2 HTML解析實(shí)現(xiàn)280
12.6 命令行工具282
12.7 定義Item284
12.8 翻頁功能286
12.9 構(gòu)建Item Pipeline287
12.9.1 定制Item Pipeline287
12.9.2 激活I(lǐng)tem Pipeline288
12.10 內(nèi)置數(shù)據(jù)存儲288
12.11 內(nèi)置圖片和文件下載方式289
12.12 啟動爬蟲294
12.13 強(qiáng)化爬蟲297
12.13.1 調(diào)試方法297
12.13.2 異常299
12.13.3 控制運(yùn)行狀態(tài)300
12.14 小結(jié)301
第13章 深入Scrapy爬蟲框架302
13.1 再看Spider302
13.2 Item Loader308
13.2.1 Item與Item Loader308
13.2.2 輸入與輸出處理器309
13.2.3 Item Loader Context310
13.2.4 重用和擴(kuò)展Item Loader311
13.2.5 內(nèi)置的處理器312
13.3 再看Item Pipeline314
13.4 請求與響應(yīng)315
13.4.1 Request對象315
13.4.2 Response對象318
13.5 下載器中間件320
13.5.1 激活下載器中間件320
13.5.2 編寫下載器中間件321
13.6 Spide