Python爬蟲(chóng)開(kāi)發(fā)與項(xiàng)目實(shí)戰(zhàn)
定 價(jià):79 元
叢書(shū)名:實(shí)戰(zhàn)
- 作者:范傳輝
- 出版時(shí)間:2017/6/6
- ISBN:9787111563877
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:423
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
本書(shū)從基本的爬蟲(chóng)原理開(kāi)始講解,通過(guò)介紹Pthyon編程語(yǔ)言與HTML基礎(chǔ)知識(shí)引領(lǐng)讀者入門(mén),之后根據(jù)當(dāng)前風(fēng)起云涌的云計(jì)算、大數(shù)據(jù)熱潮,重點(diǎn)講述了云計(jì)算的相關(guān)內(nèi)容及其在爬蟲(chóng)中的應(yīng)用,進(jìn)而介紹如何設(shè)計(jì)自己的爬蟲(chóng)應(yīng)用。主要內(nèi)容分為基礎(chǔ)篇、中級(jí)篇、深入篇,基礎(chǔ)篇包括Python編程基礎(chǔ)、Web前端基礎(chǔ)、HTML基礎(chǔ)知識(shí)、基礎(chǔ)爬蟲(chóng)設(shè)計(jì)、強(qiáng)化爬蟲(chóng)技術(shù)等。中級(jí)篇包括數(shù)據(jù)存儲(chǔ)、動(dòng)態(tài)網(wǎng)站抓取、協(xié)議分析、Scrapy爬蟲(chóng)框架分析及實(shí)戰(zhàn)案例等。高級(jí)篇包括增量式爬蟲(chóng)、分布式爬蟲(chóng)、人性化爬蟲(chóng)等框架設(shè)計(jì)。
零基礎(chǔ)學(xué)習(xí)爬蟲(chóng)技術(shù),從Python和Web前端基礎(chǔ)開(kāi)始講起,由淺入深,包含大量案例,實(shí)用性強(qiáng)。
從靜態(tài)網(wǎng)站到動(dòng)態(tài)網(wǎng)站,從單機(jī)爬蟲(chóng)到分布式爬蟲(chóng),涵蓋Scrapy和PySpider框架的運(yùn)用、去重方案的設(shè)計(jì)和分布式爬蟲(chóng)的搭建等。
這是一本實(shí)戰(zhàn)性很強(qiáng)的書(shū),書(shū)中共有9個(gè)爬蟲(chóng)項(xiàng)目,以系統(tǒng)的實(shí)戰(zhàn)項(xiàng)目為驅(qū)動(dòng),由淺及深地講解爬蟲(chóng)開(kāi)發(fā)中所需的知識(shí)和技能。從靜態(tài)網(wǎng)站到動(dòng)態(tài)網(wǎng)站,從單機(jī)爬蟲(chóng)到分布式爬蟲(chóng),既包含基礎(chǔ)知識(shí)點(diǎn),又講解了關(guān)鍵問(wèn)題和難點(diǎn)分析,包含從入門(mén)到進(jìn)階的所有知識(shí)。讀者認(rèn)真學(xué)習(xí)完本書(shū)之后不再是個(gè)菜鳥(niǎo),可以自主地開(kāi)發(fā)Python爬蟲(chóng)項(xiàng)目。
范傳輝,資深網(wǎng)蟲(chóng),Python開(kāi)發(fā)者,參與開(kāi)發(fā)了多項(xiàng)網(wǎng)絡(luò)應(yīng)用,在實(shí)際開(kāi)發(fā)中積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),并善于總結(jié),貢獻(xiàn)了多篇技術(shù)文章廣受好評(píng)。研究興趣是網(wǎng)絡(luò)安全、爬蟲(chóng)技術(shù)、數(shù)據(jù)分析、驅(qū)動(dòng)開(kāi)發(fā)等技術(shù)。
目 錄
前言
基礎(chǔ)篇
第1章 回顧Python編程2
1.1 安裝Python2
1.1.1 Windows上安裝Python2
1.1.2 Ubuntu上的Python3
1.2 搭建開(kāi)發(fā)環(huán)境4
1.2.1 Eclipse+PyDev4
1.2.2 PyCharm10
1.3 IO編程11
1.3.1 文件讀寫(xiě)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請(qǐng)求過(guò)程62
2.2.2 HTTP狀態(tài)碼含義62
2.2.3 HTTP頭部信息63
2.2.4 Cookie狀態(tài)管理66
2.2.5 HTTP請(qǐng)求方式66
2.3 小結(jié)68
第3章 初識(shí)網(wǎng)絡(luò)爬蟲(chóng)69
3.1 網(wǎng)絡(luò)爬蟲(chóng)概述69
3.1.1 網(wǎng)絡(luò)爬蟲(chóng)及其應(yīng)用69
3.1.2 網(wǎng)絡(luò)爬蟲(chóng)結(jié)構(gòu)71
3.2 HTTP請(qǐng)求的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 初識(shí)Firebug83
4.1.1 安裝Firebug84
4.1.2 強(qiáng)大的功能84
4.2 正則表達(dá)式95
4.2.1 基本語(yǔ)法與使用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ù)存儲(chǔ)(無(wú)數(shù)據(jù)庫(kù)版)127
5.1 HTML正文抽取127
5.1.1 存儲(chǔ)為JSON127
5.1.2 存儲(chǔ)為CSV132
5.2 多媒體文件抽取136
5.3 Email提醒137
5.4 小結(jié)138
第6章 實(shí)戰(zhàn)項(xiàng)目:基礎(chǔ)爬蟲(chóng)139
6.1 基礎(chǔ)爬蟲(chóng)架構(gòu)及運(yùn)行流程140
6.2 URL管理器141
6.3 HTML下載器142
6.4 HTML解析器143
6.5 數(shù)據(jù)存儲(chǔ)器145
6.6 爬蟲(chóng)調(diào)度器146
6.7 小結(jié)147
第7章 實(shí)戰(zhàn)項(xiàng)目:簡(jiǎn)單分布式爬蟲(chóng)148
7.1 簡(jiǎn)單分布式爬蟲(chóng)結(jié)構(gòu)148
7.2 控制節(jié)點(diǎn)149
7.2.1 URL管理器149
7.2.2 數(shù)據(jù)存儲(chǔ)器151
7.2.3 控制調(diào)度器153
7.3 爬蟲(chóng)節(jié)點(diǎn)155
7.3.1 HTML下載器155
7.3.2 HTML解析器156
7.3.3 爬蟲(chóng)調(diào)度器157
7.4 小結(jié)159
中級(jí)篇
第8章 數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)庫(kù)版)162
8.1 SQLite162
8.1.1 安裝SQLite162
8.1.2 SQL語(yǔ)法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 更適合爬蟲(chóng)的MongoDB183
8.3.1 安裝MongoDB184
8.3.2 MongoDB基礎(chǔ)187
8.3.3 Python操作MongoDB194
8.4 小結(jié)196
第9章 動(dòng)態(tài)網(wǎng)站抓取197
9.1 Ajax和動(dòng)態(tài)HTML197
9.2 動(dòng)態(tài)爬蟲(chóng)1:爬取影評(píng)信息198
9.3 PhantomJS207
9.3.1 安裝PhantomJS207
9.3.2 快速入門(mén)208
9.3.3 屏幕捕獲211
9.3.4 網(wǎng)絡(luò)監(jiān)控213
9.3.5 頁(yè)面自動(dòng)化214
9.3.6 常用模塊和方法215
9.4 Selenium218
9.4.1 安裝Selenium219
9.4.2 快速入門(mén)220
9.4.3 元素選取221
9.4.4 頁(yè)面操作222
9.4.5 等待225
9.5 動(dòng)態(tài)爬蟲(chóng)2:爬取去哪網(wǎng)227
9.6 小結(jié)230
第10章 Web端協(xié)議分析231
10.1 網(wǎng)頁(yè)登錄POST分析231
10.1.1 隱藏表單分析231
10.1.2 加密數(shù)據(jù)分析234
10.2 驗(yàn)證碼問(wèn)題246
10.2.1 IP代理246
10.2.2 Cookie登錄249
10.2.3 傳統(tǒng)驗(yàn)證碼識(shí)別250
10.2.4 人工打碼251
10.2.5 滑動(dòng)驗(yàn)證碼252
10.3 www>m>wap252
10.4 小結(jié)254
第11章 終端協(xié)議分析255
11.1 PC客戶端抓包分析255
11.1.1 HTTP Analyzer簡(jiǎn)介255
11.1.2 蝦米音樂(lè)PC端API實(shí)戰(zhàn)分析257
11.2 App抓包分析259
11.2.1 Wireshark簡(jiǎn)介259
11.2.2 酷我聽(tīng)書(shū)App端API實(shí)戰(zhàn)分析266
11.3 API爬蟲(chóng):爬取mp3資源信息268
11.4 小結(jié)272
第12章 初窺Scrapy爬蟲(chóng)框架273
12.1 Scrapy爬蟲(chóng)架構(gòu)273
12.2 安裝Scrapy275
12.3 創(chuàng)建cnblogs項(xiàng)目276
12.4 創(chuàng)建爬蟲(chó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 翻頁(yè)功能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ù)存儲(chǔ)288
12.11 內(nèi)置圖片和文件下載方式289
12.12 啟動(dòng)爬蟲(chóng)294
12.13 強(qiáng)化爬蟲(chó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爬蟲(chóng)框架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 請(qǐng)求與響應(yīng)315
13.4.1 Request對(duì)象315
13.4.2 Response對(duì)象318
13.5 下載器中間件320
13.5.1 激活下載器中間件320
13.5.2 編寫(xiě)下載器中間件321
13.6 Spide