本書(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ì)。
范傳輝 網(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.1Windows上安裝Python2
1.1.2Ubuntu上的Python3
1.2搭建開(kāi)發(fā)環(huán)境4
1.2.1Eclipse+PyDev4
1.2.2PyCharm10
1.3IO編程11
1.3.1文件讀寫(xiě)11
1.3.2操作文件和目錄14
1.3.3序列化操作15
1.4進(jìn)程和線(xiàn)程16
1.4.1多進(jìn)程16
1.4.2多線(xiàn)程22
1.4.3協(xié)程25
1.4.4分布式進(jìn)程27
1.5網(wǎng)絡(luò)編程32
1.5.1TCP編程33
1.5.2UDP編程35
1.6小結(jié)36
第2章Web前端基礎(chǔ)37
2.1W3C標(biāo)準(zhǔn)37
2.1.1HTML37
2.1.2CSS47
2.1.3JavaScript51
2.1.4XPath56
2.1.5JSON61
2.2HTTP標(biāo)準(zhǔn)61
2.2.1HTTP請(qǐng)求過(guò)程62
2.2.2HTTP狀態(tài)碼含義62
2.2.3HTTP頭部信息63
2.2.4Cookie狀態(tài)管理66
2.2.5HTTP請(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.2HTTP請(qǐng)求的Python實(shí)現(xiàn)72
3.2.1urllib2/urllib實(shí)現(xiàn)72
3.2.2httplib/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.2Python與正則102
4.3強(qiáng)大的BeautifulSoup108
4.3.1安裝BeautifulSoup108
4.3.2BeautifulSoup的使用109
4.3.3lxml的XPath解析124
4.4小結(jié)126
第5章數(shù)據(jù)存儲(chǔ)(無(wú)數(shù)據(jù)庫(kù)版)127
5.1HTML正文抽取127
5.1.1存儲(chǔ)為JSON127
5.1.2存儲(chǔ)為CSV132
5.2多媒體文件抽取136
5.3Email提醒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.2URL管理器141
6.3HTML下載器142
6.4HTML解析器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.1URL管理器149
7.2.2數(shù)據(jù)存儲(chǔ)器151
7.2.3控制調(diào)度器153
7.3爬蟲(chóng)節(jié)點(diǎn)155
7.3.1HTML下載器155
7.3.2HTML解析器156
7.3.3爬蟲(chóng)調(diào)度器157
7.4小結(jié)159
中級(jí)篇
第8章數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)庫(kù)版)162
8.1SQLite162
8.1.1安裝SQLite162
8.1.2SQL語(yǔ)法163
8.1.3SQLite增刪改查168
8.1.4SQLite事務(wù)170
8.1.5Python操作SQLite171
8.2MySQL174
8.2.1安裝MySQL174
8.2.2MySQL基礎(chǔ)177
8.2.3Python操作MySQL181
8.3更適合爬蟲(chóng)的MongoDB183
8.3.1安裝MongoDB184
8.3.2MongoDB基礎(chǔ)187
8.3.3Python操作MongoDB194
8.4小結(jié)196
第9章動(dòng)態(tài)網(wǎng)站抓取197
9.1Ajax和動(dòng)態(tài)HTML197
9.2動(dòng)態(tài)爬蟲(chóng)1:爬取影評(píng)信息198
9.3PhantomJS207
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.4Selenium218
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.1IP246
10.2.2Cookie登錄249
10.2.3傳統(tǒng)驗(yàn)證碼識(shí)別250
10.2.4人工打碼251
10.2.5滑動(dòng)驗(yàn)證碼252
10.3www>m>wap252
10.4小結(jié)254
第11章終端協(xié)議分析255
11.1PC客戶(hù)端抓包分析255
11.1.1HTTP Analyzer簡(jiǎn)介255
11.1.2蝦米音樂(lè)PC端API實(shí)戰(zhàn)分析257
11.2App抓包分析259
11.2.1Wireshark簡(jiǎn)介259
11.2.2酷我聽(tīng)書(shū)App端API實(shí)戰(zhàn)分析266
11.3API爬蟲(chóng):爬取mp3資源信息268
11.4小結(jié)272
第12章初窺Scrapy爬蟲(chóng)框架273
12.1Scrapy爬蟲(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.1Selector的用法278
12.5.2HTML解析實(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.2Item Loader308
13.2.1Item與Item Loader308
13.2.2輸入與輸出處理器309
13.2.3Item 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.1Request對(duì)象315
13.4.2Response對(duì)象318
13.5下載器中間件320
13.5.1激活下載器中間件320
13.5.2編寫(xiě)下載器中間件321
13.6Spide
非常棒的書(shū)
當(dāng)當(dāng)買(mǎi)書(shū)還是值得可靠的,速度還可以
還不錯(cuò)。。
不錯(cuò),在用了
剛收到,外包裝我實(shí)在無(wú)力吐槽,收到后實(shí)在破爛不堪,我是個(gè)愛(ài)書(shū)的人,所以實(shí)在很難過(guò),里邊有薄膜包裝,這一本保護(hù)的還算好吧
技術(shù)性強(qiáng),而且比較新,需要一些Python基礎(chǔ),自己正在學(xué)習(xí)中
快遞好評(píng),書(shū)也不錯(cuò)
書(shū)的質(zhì)量不錯(cuò)
原裝,原裝正版。快遞非常的快。Python實(shí)戰(zhàn)寶典噢。
很好,不好意思買(mǎi)的書(shū)多了,評(píng)價(jià)的時(shí)候疏漏了,非常好的書(shū)。
看上去不錯(cuò),不過(guò)里面用的Python版本還是2.7的,現(xiàn)在都3.6了。據(jù)說(shuō)Python3對(duì)很多庫(kù)支持不好,所以還是2.7,我是初學(xué)的,也不太懂。關(guān)于爬蟲(chóng)的書(shū)很少,所以先用著看看吧
書(shū)不錯(cuò),給力!
很好,很滿(mǎn)意
快遞實(shí)在他喵的太慢了
書(shū)很新,不錯(cuò)的項(xiàng)目實(shí)戰(zhàn)
快遞速度太太太慢了
質(zhì)量應(yīng)該可以吧,跳著看的,還沒(méi)復(fù)現(xiàn)代碼!
非常有幫助
。。 。 ?。。。。。。。
內(nèi)容介紹的很基礎(chǔ),沒(méi)有web基礎(chǔ)的也可以看懂。