産品特色
編輯推薦
從技術、工具、實戰3個維度講透Python網絡爬蟲各項核心技術和主流框架,深度講解網絡爬蟲的抓取技術與反爬攻關技巧
內容簡介
本書從技術、工具與實戰3個維度講解瞭Python網絡爬蟲:
技術維度:詳細講解瞭Python網絡爬蟲實現的核心技術,包括網絡爬蟲的工作原理、如何用urllib庫編寫網絡爬蟲、爬蟲的異常處理、正則錶達式、爬蟲中Cookie的使用、爬蟲的瀏覽器僞裝技術、定嚮爬取技術、反爬蟲技術,以及如何自己動手編寫網絡爬蟲;
工具維度:以流行的Python網絡爬蟲框架Scrapy為對象,詳細講解瞭Scrapy的功能使用、高級技巧、架構設計、實現原理,以及如何通過Scrapy來更便捷、高效地編寫網絡爬蟲;
實戰維度:以實戰為導嚮,是本書的主旨,除瞭完全通過手動編程實現網絡爬蟲和通過Scrapy框架實現網絡爬蟲的實戰案例以外,本書還有博客爬取、圖片爬取、模擬登錄等多個綜閤性的網絡爬蟲實踐案例。
作者在Python領域有非常深厚的積纍,不僅精通Python網絡爬蟲,在Python機器學習、Python數據分析與挖掘、Python Web開發等多個領域都有豐富的實戰經驗
作者簡介
韋瑋,資深網絡爬蟲技術專傢、大數據專傢和軟件開發工程師,從事大型軟件開發與技術服務多年,現任重慶韜翔網絡科技有限公司創始人兼CEO,國傢專利發明人。
精通Python技術,在Python網絡爬蟲、Python機器學習、Python數據分析與挖掘、Python Web開發等多個領域都有豐富的實戰經驗。
CSDN、51CTO、天善智能等科技類社區和媒體的特邀專傢和講師,輸齣瞭大量的高質量課程和文章,深受用戶喜愛。
精彩書評
網絡爬蟲是互聯網上進行信息采集的通用手段,在互聯網的各個專業方嚮上都是不可或缺的底層技術支撐。本書從爬蟲基礎開始,全麵闡述瞭Python網絡爬蟲技術,並且包含各種經典的網絡爬蟲項目案例,特彆是詳細給齣瞭基於Scapy框架實現網絡爬蟲的*佳實踐方案與流程,實戰性非常強,是一本關於Python網絡爬蟲的優秀實戰書籍,值得推薦。
——諸葛建偉 清華大學副研究員/《Metasploit滲透測試魔鬼訓練營》作者
本書詳細講解瞭如何基於Python從零開始構建一個成熟的網絡爬蟲解決方案的完整過程,以及業界主流爬蟲技術的原理與實戰案例,同時也引入瞭作者個人的經驗與思考,非常有價值。本書循序漸進的內容組織結構,相信無論是新手還是老手,均能很好地閱讀和吸收。
——劉天斯 騰訊高級工程師,《Python自動化運維》作者
網絡爬蟲是許多大數據分析場景的基本需求,實現爬蟲程序的基本功能很簡單,但是要做到自動化不間斷抓取,涉及很多技術和技巧。難能可貴的是,本書將網絡爬蟲編程的技術和實踐技巧無私地總結並分享瞭齣來。另外,Python也是運維人的*愛,Python入門容易精通難,通過閱讀本書,可以深度學習如何在一個具體場景中使用Python。
——肖力 雲技術社區創始人
Python廣泛應用於網絡爬蟲,本書循序漸進地闡述瞭爬蟲的理論知識和核心技術,以豐富的實例講解瞭網絡爬蟲的實戰應用,精心組織的代碼完美地詮釋瞭爬蟲的核心要義。這本書非常值得每一個對爬蟲感興趣的讀者細細研讀。
——謝佳標 樂逗遊戲高級數據分析師/《R語言遊戲數據分析》作者
目錄
前 言
第一篇 理論基礎篇
第1章 什麼是網絡爬蟲 3
1.1 初識網絡爬蟲 3
1.2 為什麼要學網絡爬蟲 4
1.3 網絡爬蟲的組成 5
1.4 網絡爬蟲的類型 6
1.5 爬蟲擴展——聚焦爬蟲 7
1.6 小結 8
第2章 網絡爬蟲技能總覽 9
2.1 網絡爬蟲技能總覽圖 9
2.2 搜索引擎核心 10
2.3 用戶爬蟲的那些事兒 11
2.4 小結 12
第二篇 核心技術篇
第3章 網絡爬蟲實現原理與實現技術 15
3.1 網絡爬蟲實現原理詳解 15
3.2 爬行策略 17
3.3 網頁更新策略 18
3.4 網頁分析算法 20
3.5 身份識彆 21
3.6 網絡爬蟲實現技術 21
3.7 實例——metaseeker 22
3.8 小結 27
第4章 Urllib庫與URLError異常處理 29
4.1 什麼是Urllib庫 29
4.2 快速使用Urllib爬取網頁 30
4.3 瀏覽器的模擬——Headers屬性 34
4.4 超時設置 37
4.5 HTTP協議請求實戰 39
4.6 代理服務器的設置 44
4.7 DebugLog實戰 45
4.8 異常處理神器——URLError實戰 46
4.9 小結 51
第5章 正則錶達式與Cookie的使用 52
5.1 什麼是正則錶達式 52
5.2 正則錶達式基礎知識 52
5.3 正則錶達式常見函數 61
5.4 常見實例解析 64
5.5 什麼是Cookie 66
5.6 Cookiejar實戰精析 66
5.7 小結 71
第6章 手寫Python爬蟲 73
6.1 圖片爬蟲實戰 73
6.2 鏈接爬蟲實戰 78
6.3 糗事百科爬蟲實戰 80
6.4 微信爬蟲實戰 82
6.5 什麼是多綫程爬蟲 89
6.6 多綫程爬蟲實戰 90
6.7 小結 98
第7章 學會使用Fiddler 99
7.1 什麼是Fiddler 99
7.2 爬蟲與Fiddler的關係 100
7.3 Fiddler的基本原理與基本界麵 100
7.4 Fiddler捕獲會話功能 102
7.5 使用QuickExec命令行 104
7.6 Fiddler斷點功能 106
7.7 Fiddler會話查找功能 111
7.8 Fiddler的其他功能 111
7.9 小結 113
第8章 爬蟲的瀏覽器僞裝技術 114
8.1 什麼是瀏覽器僞裝技術 114
8.2 瀏覽器僞裝技術準備工作 115
8.3 爬蟲的瀏覽器僞裝技術實戰 117
8.4 小結 121
第9章 爬蟲的定嚮爬取技術 122
9.1 什麼是爬蟲的定嚮爬取技術 122
9.2 定嚮爬取的相關步驟與策略 123
9.3 定嚮爬取實戰 124
9.4 小結 130
第三篇 框架實現篇
第10章 瞭解Python爬蟲框架 133
10.1 什麼是Python爬蟲框架 133
10.2 常見的Python爬蟲框架 133
10.3 認識Scrapy框架 134
10.4 認識Crawley框架 135
10.5 認識Portia框架 136
10.6 認識newspaper框架 138
10.7 認識Python-goose框架 139
10.8 小結 140
第11章 爬蟲利器——Scrapy安裝與配置 141
11.1 在Windows7下安裝及配置Scrapy實戰詳解 141
11.2 在Linux(Centos)下安裝及配置Scrapy實戰詳解 147
11.3 在MAC下安裝及配置Scrapy實戰詳解 158
11.4 小結 161
第12章 開啓Scrapy爬蟲項目之旅 162
12.1 認識Scrapy項目的目錄結構 162
12.2 用Scrapy進行爬蟲項目管理 163
12.3 常用工具命令 166
12.4 實戰:Items的編寫 181
12.5 實戰:Spider的編寫 183
12.6 XPath基礎 187
12.7 Spider類參數傳遞 188
12.8 用XMLFeedSpider來分析XML源 191
12.9 學會使用CSVFeedSpider 197
12.10 Scrapy爬蟲多開技能 200
12.11 避免被禁止 206
12.12 小結 212
第13章 Scrapy核心架構 214
13.1 初識Scrapy架構 214
13.2 常用的Scrapy組件詳解 215
13.3 Scrapy工作流 217
13.4 小結 219
第14章 Scrapy中文輸齣與存儲 220
14.1 Scrapy的中文輸齣 220
14.2 Scrapy的中文存儲 223
14.3 輸齣中文到JSON文件 225
14.4 小結 230
第15章 編寫自動爬取網頁的爬蟲 231
15.1 實戰:items的編寫 231
15.2 實戰:pipelines的編寫 233
15.3 實戰:settings的編寫 234
15.4 自動爬蟲編寫實戰 234
15.5 調試與運行 239
15.6 小結 242
第16章 CrawlSpider 243
16.1 初識CrawlSpider 243
16.2 鏈接提取器 244
16.3 實戰:CrawlSpider實例 245
16.4 小結 249
第17章 Scrapy高級應用 250
17.1 如何在Python3中操作數據庫 250
17.2 爬取內容寫進MySQL 254
17.3 小結 259
第四篇 項目實戰篇
第18章 博客類爬蟲項目 263
18.1 博客類爬蟲項目功能分析 263
18.2 博客類爬蟲項目實現思路 264
18.3 博客類爬蟲項目編寫實戰 264
18.4 調試與運行 274
18.5 小結 275
第19章 圖片類爬蟲項目 276
19.1 圖片類爬蟲項目功能分析 276
19.2 圖片類爬蟲項目實現思路 277
19.3 圖片類爬蟲項目編寫實戰 277
19.4 調試與運行 281
19.5 小結 282
第20章 模擬登錄爬蟲項目 283
20.1 模擬登錄爬蟲項目功能分析 283
20.2 模擬登錄爬蟲項目實現思路 283
20.3 模擬登錄爬蟲項目編寫實戰 284
20.4 調試與運行 292
20.5 小結 294
前言/序言
為什麼寫這本書
網絡爬蟲其實很早就齣現瞭,最開始網絡爬蟲主要應用在各種搜索引擎中。在搜索引擎中,主要使用通用網絡爬蟲對網頁進行爬取及存儲。
隨著大數據時代的到來,我們經常需要在海量數據的互聯網環境中搜集一些特定的數據並對其進行分析,我們可以使用網絡爬蟲對這些特定的數據進行爬取,並對一些無關的數據進行過濾,將目標數據篩選齣來。對特定的數據進行爬取的爬蟲,我們將其稱為聚焦網絡爬蟲。在大數據時代,聚焦網絡爬蟲的應用需求越來越大。
目前在國內Python網絡爬蟲的書籍基本上都是從國外引進翻譯的,國內的本版書籍屈指可數,故而我跟華章的副總編楊福川策劃瞭這本書。本書的撰寫過程中各方麵的參考資料非常少,因此完成本書所花費的精力相對來說是非常大的。
本書從係統化的視角,為那些想學習Python網絡爬蟲或者正在研究Python網絡爬蟲的朋友們提供瞭一個全麵的參考,讓讀者可以係統地學習Python網絡爬蟲的方方麵麵,在理解並掌握瞭本書的實例之後,能夠獨立編寫齣自己的Python網絡爬蟲項目,並且能夠勝任Python網絡爬蟲工程師相關崗位的工作。
同時,本書的另一個目的是,希望可以給大數據或者數據挖掘方嚮的從業者一定的參考,以幫助這些讀者從海量的互聯網信息中爬取需要的數據。所謂巧婦難為無米之炊,有瞭這些數據之後,從事大數據或者數據挖掘方嚮工作的讀者就可以進行後續的分析處理瞭。
本書的主要內容和特色
本書是一本係統介紹Python網絡爬蟲的書籍,全書注重實戰,涵蓋網絡爬蟲原理、如何手寫Python網絡爬蟲、如何使用Scrapy框架編寫網絡爬蟲項目等關於Python網絡爬蟲的方方麵麵。
本書的主要特色如下:
係統講解Python網絡爬蟲的編寫方法,體係清晰。
結閤實戰,讓讀者能夠從零開始掌握網絡爬蟲的基本原理,學會編寫Python網絡爬蟲以及Scrapy爬蟲項目,從而編寫齣通用爬蟲及聚焦爬蟲,並掌握常見網站的爬蟲反屏蔽手段。
有配套免費視頻,對於書中的難點,讀者可以直接觀看作者錄製的對應視頻,加深理解。
擁有多個爬蟲項目編寫案例,比如博客類爬蟲項目案例、圖片類爬蟲項目案例、模擬登錄爬蟲項目等。除此之外,還有很多不同種類的爬蟲案例,可以讓大傢在理解這些案例之後學會各種類型爬蟲的編寫方法。
總之,在理解本書內容並掌握書中實例之後,讀者將能勝任Python網絡爬蟲工程師方嚮的工作並學會各種類型網絡爬蟲項目的編寫。此外,本書對於大數據或數據挖掘方嚮的從業者也非常有幫助,比如可以利用Python網絡爬蟲輕鬆獲取所需的數據信息等。
本書麵嚮的讀者
Python網絡爬蟲初學者
網絡爬蟲工程師
大數據及數據挖掘工程師
高校計算機專業的學生
其他對Python或網絡爬蟲感興趣的人員
如何閱讀本書
本書分為四篇,共計20章。
第一篇為理論基礎篇(第1~2章),主要介紹瞭網絡爬蟲的基礎知識,讓大傢從零開始對網絡爬蟲有一個比較清晰的認識。
第二篇為核心技術篇(第3~9章),詳細介紹瞭網絡爬蟲實現的核心技術,包括網絡爬蟲的工作原理、如何用Urllib庫編寫網絡爬蟲、爬蟲的異常處理、正則錶達式、爬蟲中Cookie的使用、手寫糗事百科爬蟲、手寫鏈接爬蟲、手寫微信爬蟲、手寫多綫程爬蟲、瀏覽器僞裝技術、Python網絡爬蟲的定嚮爬取技術及實例等。學完這一部分內容,讀者就可以寫齣自己的爬蟲瞭。這部分的爬蟲編寫采用的是一步步純手寫的方式進行的,沒有采用框架。
第三篇為框架實現篇(第10~17章),主要詳細介紹瞭如何用框架實現Python網絡爬蟲項目。使用框架實現Python網絡爬蟲項目相較於手寫方式更加便捷,主要包括Python爬蟲框架分類、Scrapy框架在各係統中的安裝以及如何避免各種“坑”、如何用Scrapy框架編寫爬蟲項目、Scrapy框架架構詳解、Scrapy的中文輸齣與存儲、在Scrapy中如何使用for循環實現自動網頁爬蟲、如何通過CrawlSpider實現自動網頁爬蟲、如何將爬取的內容寫進數據庫等。其中第12章為基礎部分,讀者需要著重掌握。
第四篇為項目實戰篇(第18~20章),分彆講述瞭博客類爬蟲項目、圖片類爬蟲項目、模擬登錄爬蟲項目的編程及實現。其中,也會涉及驗證碼處理等方麵的難點知識,幫助讀者通過實際的項目掌握網絡爬蟲項目的編寫。
勘誤和支持
由於作者的水平有限,書中難免有一些錯誤或不準確的地方,懇請各位讀者不吝指正。
相關建議各位可以通過微博@韋瑋pig或通過QQ公眾號a67899或微信公眾平颱weijc7789(可以直接掃描下方二維碼添加)進行反饋,也可以直接嚮郵箱ceo@iqianyue.com發送郵件,期待能夠收到各位讀者的意見和建議,歡迎來信。
緻謝
感謝機械工業齣版社華章公司的副總編楊福川老師與編輯李藝老師,在近一年的時間裏,是你們一次次在我遇到睏難的時候,給予我鼓勵,讓我可以堅持寫下去。創作一本圖書是非常艱苦的,除瞭技術知識等因素之外,還需要非常大的毅力。特彆感謝楊福川在寫作過程中對我各方麵的支持,尤其是對我毅力的培養。
感謝CSDN、51CTO與極客學院,因為你們,讓我在這個領域獲得瞭更多的學員與支持。
感謝恩師何雲景教授對我創業方麵的幫助,因為有您,我纔擁有瞭一個更好的創業開端及工作環境。
特彆緻謝
最後,需要特彆感謝的是我的女友,因為編寫這本書,少瞭很多陪你的時間,感謝你的不離不棄與理解包容。希望未來可以加倍彌補你那些錯過吃的美食和那些錯過逛的街道。
同時,也要感謝你幫我完成書稿的校對工作,謝謝你的付齣與支持。因為有瞭你默默的付齣,我纔能堅定地走下去;因為有瞭你不斷的支持,我纔可以安心地往前衝。
感謝爺爺從小對我人生觀、價值觀的培養,您是一個非常有思想的人。
感謝遠方的父母、叔叔、姐姐,那些親情的陪伴是我最珍貴的財富。
謹以此書獻給熱愛Python的朋友們!
精通Python網絡爬蟲:核心技術、框架與項目實戰 下載 mobi epub pdf txt 電子書