Python爬蟲開發(fā)與項目實戰(zhàn)
定 價:79 元
叢書名:實戰(zhàn)
- 作者:范傳輝
- 出版時間:2017/6/6
- ISBN:9787111563877
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:423
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言與HTML基礎知識引領讀者入門,之后根據(jù)當前風起云涌的云計算、大數(shù)據(jù)熱潮,重點講述了云計算的相關內容及其在爬蟲中的應用,進而介紹如何設計自己的爬蟲應用。主要內容分為基礎篇、中級篇、深入篇,基礎篇包括Python編程基礎、Web前端基礎、HTML基礎知識、基礎爬蟲設計、強化爬蟲技術等。中級篇包括數(shù)據(jù)存儲、動態(tài)網(wǎng)站抓取、協(xié)議分析、Scrapy爬蟲框架分析及實戰(zhàn)案例等。高級篇包括增量式爬蟲、分布式爬蟲、人性化爬蟲等框架設計。
零基礎學習爬蟲技術,從Python和Web前端基礎開始講起,由淺入深,包含大量案例,實用性強。
從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機爬蟲到分布式爬蟲,涵蓋Scrapy和PySpider框架的運用、去重方案的設計和分布式爬蟲的搭建等。
這是一本實戰(zhàn)性很強的書,書中共有9個爬蟲項目,以系統(tǒng)的實戰(zhàn)項目為驅動,由淺及深地講解爬蟲開發(fā)中所需的知識和技能。從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機爬蟲到分布式爬蟲,既包含基礎知識點,又講解了關鍵問題和難點分析,包含從入門到進階的所有知識。讀者認真學習完本書之后不再是個菜鳥,可以自主地開發(fā)Python爬蟲項目。
范傳輝,資深網(wǎng)蟲,Python開發(fā)者,參與開發(fā)了多項網(wǎng)絡應用,在實際開發(fā)中積累了豐富的實戰(zhàn)經驗,并善于總結,貢獻了多篇技術文章廣受好評。研究興趣是網(wǎng)絡安全、爬蟲技術、數(shù)據(jù)分析、驅動開發(fā)等技術。
目 錄
前言
基礎篇
第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 進程和線程16
1.4.1 多進程16
1.4.2 多線程22
1.4.3 協(xié)程25
1.4.4 分布式進程27
1.5 網(wǎng)絡編程32
1.5.1 TCP編程33
1.5.2 UDP編程35
1.6 小結36
第2章 Web前端基礎37
2.1 W3C標準37
2.1.1 HTML37
2.1.2 CSS47
2.1.3 JavaScript51
2.1.4 XPath56
2.1.5 JSON61
2.2 HTTP標準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 小結68
第3章 初識網(wǎng)絡爬蟲69
3.1 網(wǎng)絡爬蟲概述69
3.1.1 網(wǎng)絡爬蟲及其應用69
3.1.2 網(wǎng)絡爬蟲結構71
3.2 HTTP請求的Python實現(xiàn)72
3.2.1 urllib2/urllib實現(xiàn)72
3.2.2 httplib/urllib實現(xiàn)76
3.2.3 更人性化的Requests77
3.3 小結82
第4章 HTML解析大法83
4.1 初識Firebug83
4.1.1 安裝Firebug84
4.1.2 強大的功能84
4.2 正則表達式95
4.2.1 基本語法與使用96
4.2.2 Python與正則102
4.3 強大的BeautifulSoup108
4.3.1 安裝BeautifulSoup108
4.3.2 BeautifulSoup的使用109
4.3.3 lxml的XPath解析124
4.4 小結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 小結138
第6章 實戰(zhàn)項目:基礎爬蟲139
6.1 基礎爬蟲架構及運行流程140
6.2 URL管理器141
6.3 HTML下載器142
6.4 HTML解析器143
6.5 數(shù)據(jù)存儲器145
6.6 爬蟲調度器146
6.7 小結147
第7章 實戰(zhàn)項目:簡單分布式爬蟲148
7.1 簡單分布式爬蟲結構148
7.2 控制節(jié)點149
7.2.1 URL管理器149
7.2.2 數(shù)據(jù)存儲器151
7.2.3 控制調度器153
7.3 爬蟲節(jié)點155
7.3.1 HTML下載器155
7.3.2 HTML解析器156
7.3.3 爬蟲調度器157
7.4 小結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事務170
8.1.5 Python操作SQLite171
8.2 MySQL174
8.2.1 安裝MySQL174
8.2.2 MySQL基礎177
8.2.3 Python操作MySQL181
8.3 更適合爬蟲的MongoDB183
8.3.1 安裝MongoDB184
8.3.2 MongoDB基礎187
8.3.3 Python操作MongoDB194
8.4 小結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)絡監(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 小結230
第10章 Web端協(xié)議分析231
10.1 網(wǎng)頁登錄POST分析231
10.1.1 隱藏表單分析231
10.1.2 加密數(shù)據(jù)分析234
10.2 驗證碼問題246
10.2.1 IP代理246
10.2.2 Cookie登錄249
10.2.3 傳統(tǒng)驗證碼識別250
10.2.4 人工打碼251
10.2.5 滑動驗證碼252
10.3 www>m>wap252
10.4 小結254
第11章 終端協(xié)議分析255
11.1 PC客戶端抓包分析255
11.1.1 HTTP Analyzer簡介255
11.1.2 蝦米音樂PC端API實戰(zhàn)分析257
11.2 App抓包分析259
11.2.1 Wireshark簡介259
11.2.2 酷我聽書App端API實戰(zhàn)分析266
11.3 API爬蟲:爬取mp3資源信息268
11.4 小結272
第12章 初窺Scrapy爬蟲框架273
12.1 Scrapy爬蟲架構273
12.2 安裝Scrapy275
12.3 創(chuàng)建cnblogs項目276
12.4 創(chuàng)建爬蟲模塊277
12.5 選擇器278
12.5.1 Selector的用法278
12.5.2 HTML解析實現(xiàn)280
12.6 命令行工具282
12.7 定義Item284
12.8 翻頁功能286
12.9 構建Item Pipeline287
12.9.1 定制Item Pipeline287
12.9.2 激活Item Pipeline288
12.10 內置數(shù)據(jù)存儲288
12.11 內置圖片和文件下載方式289
12.12 啟動爬蟲294
12.13 強化爬蟲297
12.13.1 調試方法297
12.13.2 異常299
12.13.3 控制運行狀態(tài)300
12.14 小結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 重用和擴展Item Loader311
13.2.5 內置的處理器312
13.3 再看Item Pipeline314
13.4 請求與響應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