精通Python爬蟲框架Scrapy ( 簡體 字) |
作者:[美]迪米特裡奧斯 考奇斯-勞卡斯(Dimitrios Kouzis-Loukas) | 類別:1. -> 程式設計 -> Python 2. -> 程式設計 -> 網路爬蟲 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 48548 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:2/1/2018 |
頁數:237 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115474209 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:python3 scrapy教程 全面剖析網路爬蟲技術的實現原理 通過爬取示例演示Scrapy的應用 涵蓋從桌面端爬取到移動端爬取 即時爬取在內的所有內容
Scrapy是使用Python開發的一個快速、高層次的螢幕抓取和Web抓取框架,用於抓Web網站並從頁面中提取結構化的資料。《精通Python爬蟲框架Scrapy》以Scrapy 1.0版本為基礎,講解了Scrapy的基礎知識,以及如何使用Python和三方API提取、整理資料,以滿足自己的需求。
本書共11章,其內容涵蓋了Scrapy基礎知識,理解HTML和XPath,安裝Scrapy並爬取一個網站,使用爬蟲填充資料庫並輸出到移動應用中,爬蟲的強大功能,將爬蟲部署到Scrapinghub雲伺服器,Scrapy的配置與管理,Scrapy程式設計,管道秘訣,理解Scrapy性能,使用Scrapyd與即時分析進行分散式爬取。本書附錄還提供了各種軟體的安裝與故障排除等內容。
本書適合軟體發展人員、資料科學家,以及對自然語言處理和機器學習感興趣的人閱讀。
|
目錄: 第 1章 Scrapy簡介 1
1.1 初識Scrapy 1
1.2 喜歡Scrapy的更多理由 2
1.3 關於本書:目標和用途 3
1.4 掌握自動化資料爬取的重要性 4
1.4.1 開發健壯且高品質的應用,並提供合理規劃 4
1.4.2 快速開發高品質可行產品 5
1.4.3 Google不會使用表單,爬取才能擴大規模 6
1.4.4 發現並融入你的生態系統 7
1.5 在充滿爬蟲的世界裡做一個好公民 7
1.6 Scrapy不是什麼 8
1.7 本章小結 9
第 2章 理解HTML和XPath 10
2.1 HTML、DOM樹表示以及XPath 10
2.1.1 URL 11
2.1.2 HTML文檔 11
2.1.3 樹標記法 13
2.1.4 你會在螢幕上看到什麼 14
2.2 使用XPath選擇HTML元素 15
2.2.1 有用的XPath運算式 16
2.2.2 使用Chrome獲取XPath運算式 19
2.2.3 常見任務示例 20
2.2.4 預見變化 21
2.3 本章小結 22
第3章 爬蟲基礎 23
3.1 安裝Scrapy 24
3.1.1 MacOS 24
3.1.2 Windows 25
3.1.3 Linux 25
3.1.4 新源碼安裝 26
3.1.5 升級Scrapy 26
3.1.6 Vagrant:本書中運行示例的官方方式 27
3.2 UR2IM——基本抓取流程 28
3.2.1 URL 29
3.2.2 請求和回應 31
3.2.3 Item 31
3.3 一個Scrapy項目 37
3.3.1 聲明item 38
3.3.2 編寫爬蟲 40
3.3.3 填充item 43
3.3.4 保存檔 45
3.3.5 清理——item裝載器與管理欄位 47
3.3.6 創建contract 50
3.4 抽取更多的URL 53
3.4.1 使用爬蟲實現雙向爬取 56
3.4.2 使用CrawlSpider實現雙向爬取 59
3.5 本章小結 61
第4章 從Scrapy到移動應用 62
4.1 選擇手機應用框架 62
4.2 創建資料庫和集合 63
4.3 使用Scrapy填充資料庫 65
4.4 創建手機應用 68
4.4.1 創建資料庫訪問服務 69
4.4.2 創建使用者介面 69
4.4.3 將資料映射到使用者介面 70
4.4.4 資料庫欄位與使用者介面控制項間映射 71
4.4.5 測試、分享及匯出你的手機應用 72
4.5 本章小結 73
第5章 迅速的爬蟲技巧 75
5.1 需要登錄的爬蟲 75
5.2 使用JSON API和AJAX頁面的爬蟲 81
5.3 30倍速的房產爬蟲 85
5.4 基於Excel文件爬取的爬蟲 90
5.5 本章小結 93
第6章 部署到Scrapinghub 94
6.1 註冊、登錄及創建項目 94
6.2 部署爬蟲與計畫運行 96
6.3 訪問item 99
6.4 計畫定時爬取 100
6.5 本章小結 101
第7章 配置與管理 102
7.1 使用Scrapy設置 102
7.2 基本設置 103
7.2.1 分析 104
7.2.2 性能 107
7.2.3 提前終止爬取 108
7.2.4 HTTP緩存和離線運行 108
7.2.5 爬取風格 109
7.2.6 feed 110
7.2.7 媒體下載 111
7.2.8 Amazon Web服務 113
7.2.9 使用代理和爬蟲 113
7.3 進階設置 114
7.3.1 專案相關設置 115
7.3.2 Scrapy擴展設置 116
7.3.3 下載調優 116
7.3.4 自動限速擴展設置 117
7.3.5 記憶體使用擴展設置 117
7.3.6 日誌和調試 117
7.4 本章小結 118
第8章 Scrapy程式設計 119
8.1 Scrapy是一個Twisted應用 119
8.1.1 延遲和延遲鏈 122
8.1.2 理解Twisted和非阻塞I/O——一個Python故事 125
8.2 Scrapy架構概述 132
8.3 示例1:非常簡單的管道 135
8.4 信號 136
8.5 示例2:測量輸送量和延時的擴展 138
8.6 中介軟體延伸 141
8.7 本章小結 144
第9章 管道秘訣 145
9.1 使用REST API 146
9.1.1 使用treq 146
9.1.2 用於寫入Elasticsearch的管道 146
9.1.3 使用Google Geocoding API實現地理編碼的管道 149
9.1.4 在Elasticsearch中啟用地理編碼索引 156
9.2 與標準Python用戶端建立資料庫介面 157
9.3 使用Twisted專用用戶端建立服務介面 161
9.4 為CPU密集型、阻塞或遺留功能建立介面 166
9.4.1 處理CPU密集型或阻塞操作的管道 166
9.4.2 使用二進位或腳本的管道 168
9.5 本章小結 172
第 10章 理解Scrapy性能 173
10.1 Scrapy引擎——一種直觀方式 173
10.1.1 級聯佇列系統 175
10.1.2 定義瓶頸 176
10.1.3 Scrapy性能模型 176
10.2 使用telnet獲得元件利用率 178
10.3 基準系統 180
10.4 標準性能模型 182
10.5 解決性能問題 185
10.5.1 案例 #1:CPU飽和 185
10.5.2 案例 #2:代碼阻塞 187
10.5.3 案例 #3:下載器中的“垃圾” 188
10.5.4 案例 #4:大量回應或超長回應造成的溢出 191
10.5.5 案例 #5:有限/過度item併發造成的溢出 193
10.5.6 案例 #6:下載器未充分利用 194
10.6 故障排除流程 197
10.7 本章小結 198
第 11章 使用Scrapyd與即時分析進行分散式爬取 199
11.1 房產的標題是如何影響價格的 200
11.2 Scrapyd 200
11.3 分散式系統概述 203
11.4 爬蟲和中介軟體的變化 205
11.4.1 索引頁分片爬取 205
11.4.2 分批爬取URL 207
11.4.3 從設置中獲取初始URL 211
11.4.4 在Scrapyd伺服器中部署專案 213
11.5 創建自訂監控命令 215
11.6 使用Apache Spark流計算偏移量 216
11.7 運行分散式爬取 218
11.8 系統性能 220
11.9 關鍵要點 221
11.10 本章小結 221
附錄A 軟體的安裝與故障排除 222
|
序: |