用Python寫網路爬蟲

用Python寫網路爬蟲

《用Python寫網路爬蟲》,本書作者[澳]理察 勞森(Richard Lawson),譯者李斌,由人民郵電出版社於2016年9月出版。

基本介紹

  • 書名:用Python寫網路爬蟲 
  • 作者:[澳]理察 勞森(Richard Lawson) 
  • 原版名稱:web scraping with python 
  • 譯者:李斌 
  • ISBN:9787115431790 
  • 定價:45.00元 
  • 出版社:人民郵電出版社 
  • 出版時間:2016-9 
  • 裝幀:平裝 
內容簡介,作者簡介,書籍目錄,

內容簡介

作為一種便捷地收集網上信息並從中抽取出可用信息的方式,網路爬蟲技術變得越來越有用。使用Python這樣的簡單程式語言,你可以使用少量編程技能就可以爬取複雜的網站。
《用Python寫網路爬蟲》作為使用Python來爬取網路數據的傑出指南,講解了從靜態頁面爬取數據的方法以及使用快取來管理伺服器負載的方法。此外,本書還介紹了如何使用AJAX URL和Firebug擴展來爬取數據,以及有關爬取技術的更多真相,比如使用瀏覽器渲染、管理cookie、通過提交表單從受驗證碼保護的複雜網站中抽取數據等。本書使用Scrapy創建了一個高級網路爬蟲,並對一些真實的網站進行了爬取。
《用Python寫網路爬蟲》介紹了如下內容:
通過跟蹤連結來爬取網站;
使用lxml從頁面中抽取數據;
構建執行緒爬蟲來並行爬取頁面;
將下載的內容進行快取,以降低頻寬消耗;
解析依賴於JavaScript的網站;
與表單和會話進行互動;
解決受保護頁面的驗證碼問題;
對AJAX調用進行逆向工程;
使用Scrapy創建高級爬蟲。
本書讀者對象
本書是為想要構建可靠的數據爬取解決方案的開發人員寫作的,本書假定讀者具有一定的Python編程經驗。當然,具備其他程式語言開發經驗的讀者也可以閱讀本書,並理解書中涉及的概念和原理。

作者簡介

Richard Lawson來自澳大利亞,畢業於墨爾本大學計算機科學專業。畢業後,他創辦了一家專注於網路爬蟲的公司,為超過50個國家的業務提供遠程工作。他精通於世界語,可以使用漢語和韓語對話,並且積極投身於開源軟體。他目前在牛津大學攻讀研究生學位,並利用業餘時間研發自主無人機。

書籍目錄

目錄
第1章 網路爬蟲簡介 1
1.1 網路爬蟲何時有用 1
1.2 網路爬蟲是否合法 2
1.3 背景調研 3
1.3.1 檢查robots.txt 3
1.3.2 檢查網站地圖 4
1.3.3 估算網站大小 5
1.3.4 識別網站所用技術 7
1.3.5 尋找網站所有者 7
1.4 編寫第一個網路爬蟲 8
1.4.1 下載網頁 9
1.4.2 網站地圖爬蟲 12
1.4.3 ID遍歷爬蟲 13
1.4.4 連結爬蟲 15
1.5 本章小結 22
第2章 數據抓取 23
2.1 分析網頁 23
2.2 三種網頁抓取方法 26
2.2.1 正則表達式 26
2.2.2 Beautiful Soup 28
2.2.3 Lxml 30
2.2.4 性能對比 32
2.2.5 結論 35
2.2.6 為連結爬蟲添加抓取回調 35
2.3 本章小結 38
第3章 下載快取 39
3.1 為連結爬蟲添加快取支持 39
3.2 磁碟快取 42
3.2.1 實現 44
3.2.2 快取測試 46
3.2.3 節省磁碟空間 46
3.2.4 清理過期數據 47
3.2.5 缺點 48
3.3 資料庫快取 49
3.3.1 NoSQL是什麼 50
3.3.2 安裝MongoDB 50
3.3.3 MongoDB概述 50
3.3.4 MongoDB快取實現 52
3.3.5 壓縮 54
3.3.6 快取測試 54
3.4 本章小結 55
第4章 並發下載 57
4.1 100萬個網頁 57
4.2 串列爬蟲 60
4.3 多執行緒爬蟲 60
4.3.1 執行緒和進程如何工作 61
4.3.2 實現 61
4.3.3 多進程爬蟲 63
4.4 性能 67
4.5 本章小結 68
第5章 動態內容 69
5.1 動態網頁示例 69
5.2 對動態網頁進行逆向工程 72
5.3 渲染動態網頁 77
5.3.1 PyQt還是PySide 78
5.3.2 執行JavaScript 78
5.3.3 使用WebKit與網站互動 80
5.3.4 Selenium 85
5.4 本章小結 88
第6章 表單互動 89
6.1 登錄表單 90
6.2 支持內容更新的登錄腳本擴展 97
6.3 使用Mechanize模組實現自動化表單處理 100
6.4 本章小結 102
第7章 驗證碼處理 103
7.1 註冊賬號 103
7.2 光學字元識別 106
7.3 處理複雜驗證碼 111
7.3.1 使用驗證碼處理服務 112
7.3.2 9kw入門 112
7.3.3 與註冊功能集成 119
7.4 本章小結 120
第8章 Scrapy 121
8.1 安裝 121
8.2 啟動項目 122
8.2.1 定義模型 123
8.2.2 創建爬蟲 124
8.2.3 使用shell命令抓取 128
8.2.4 檢查結果 129
8.2.5 中斷與恢復爬蟲 132
8.3 使用Portia編寫可視化爬蟲 133
8.3.1 安裝 133
8.3.2 標註 136
8.3.3 最佳化爬蟲 138
8.3.4 檢查結果 140
8.4 使用Scrapely實現自動化抓取 141
8.5 本章小結 142
第9章 總結 143
9.1 Google搜尋引擎 143
9.2 Facebook 148
9.2.1 網站 148
9.2.2 API 150
9.3 Gap 151
9.4 寶馬 153
9.5 本章小結 157

相關詞條

熱門詞條

聯絡我們