Python爬蟲開發與項目實戰 Python爬虫开发与项目实战

範傳輝

  • 出版商: 機械工業出版社
  • 出版日期: 2017-06-01
  • 定價: CNY $79.00
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 423
  • 裝訂: 平裝
  • ISBN: 7111563875
  • ISBN-13: 9787111563877
  • 相關標籤: Python

立即出貨

買這商品的人也買了...

產品描述

本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言與HTML基礎知識引領讀者入門,之後根據當前風起雲涌的雲計算、大數據熱潮,重點講述了雲計算的相關內容及其在爬蟲中的應用,進而介紹如何設計自己的爬蟲應用。

主要內容分為基礎篇、中級篇、深入篇,基礎篇包括Python編程基礎、Web前端基礎、HTML基礎知識、基礎爬蟲設計、強化爬蟲技術等。

中級篇包括數據存儲、動態網站抓取、協議分析、Scrapy爬蟲框架分析及實戰案例等。

高級篇包括增量式爬蟲、分佈式爬蟲、人性化爬蟲等框架設計。

作者簡介

範傳輝網蟲,Python開發者,參與開發了多項網絡應用,在實際開發中積累了豐富的實戰經驗,並善於總結,貢獻了多篇技術文章廣受好評。

研究興趣是網絡安全、爬蟲技術、數據分析、驅動開發等技術。

目錄大綱

基礎篇

第1章回顧Python編程2 

1.1安裝Python 2 

1.1.1 Windows上安裝Python 2 

1.1.2 Ubuntu上的Python 3 

1.2搭建開發環境4 

1.2.1 Eclipse+PyDev 4 

1.2.2 PyCharm 10 

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協程25 

1.4.4分佈式進程27 

1.5網絡編程32 

1.5.1 TCP編程33 

1.5.2 UDP編程35 

1.6小結36 

第2章Web前端基礎37 

2.1 W3C標準37 

2.1.1 HTML 37 

2.1.2 CSS 47 

2.1.351 

2.1.4 XPath 56 

2.1.5 JSON 61 

2.2 HTTP標準61 

2.2.1 HTTP請求過程62 

2.2.2 HTTP狀態碼含義62 

2.2.3 HTTP頭部信息63 

2.2.4 Cookie狀態管理66 

2.2.5 HTTP請求方式66 

2.3小結68 

第3章初識網絡爬蟲69 

3.1網絡爬蟲概述69 

3.1.1網絡爬蟲及其應用69 

3.1.2網絡爬蟲結構71 

3.2 HTTP請求的Python實現72 

3.2.1 urllib2/urllib實現72 

3.2.2 httplib/urllib實現76 

3.2.3更人性化的Requests 77 

3.3小結82 

第4章HTML解析大法83 

4.1初識Firebug 83 

4 .1.1安裝Firebug 84 

4.1.2強大的功能84 

4.2正則表達式95 

4.2.1基本語法與使用96 

4.2.2 Python與正則102 

4.3強大的BeautifulSoup 108 

4.3.1安裝BeautifulSoup 108 

4.3.2 BeautifulSoup的使用109 

4.3.3 lxml的XPath解析124 

4.4小結126 

第5章數據存儲(無數據庫版) 127 

5.1 HTML正文抽取127 

5.1.1存儲為JSON 127 

5.1.2存儲為CSV 132 

5.2多媒體文件抽取136 

5.3 Email提醒137 

5.4小結138 

第6章實戰項目:基礎爬蟲139 

6.1基礎爬蟲架構及運行流程140 

6.2 URL管理器141 

6.3 HTML下載器142 

6.4 HTML解析器143 

6.5數據存儲器145 

6.6爬蟲調度器146 

6.7小結147 

第7章實戰項目:簡單分佈式爬蟲148 

7.1簡單分佈式爬蟲結構148 

7.2控制節點149 

7.2.1 URL管理器149 

7.2.2數據存儲器151 

7.2.3控制調度器153 

7.3爬蟲節點155 

7.3.1 HTML下載器155 

7.3.2 HTML解析器156 

7.3.3爬蟲調度器157 

7.4小結159 

中級篇

第8章數據存儲(數據庫版) 162 

8.1 SQLite 162 

8.1.1安裝SQLite 162 

8.1.2 SQL語法163 

8.1.3 SQLite增刪改查168 

8.1.4 SQLite事務170 

8.1.5 Python操作SQLite 171 

8.2 MySQL 174 

8.2.1安裝MySQL 174 

8.2.2 MySQL基礎177 

8.2.3 Python操作MySQL 181 

8.3更適合爬蟲的MongoDB 183 

8.3.1安裝MongoDB 184 

8.3.2 MongoDB基礎187 

8.3.3 Python操作MongoDB 194 

8.4小結196 

第9章動態網站抓取197 

9.1 Ajax和動態HTML 197 

9.2動態爬蟲1:爬取影評信息198 

9.3 PhantomJS 207 

9.3.1安裝PhantomJS 207 

9.3.2快速入門208 

9.3.3屏幕捕獲211 

9.3.4網絡監控213 

9.3.5頁面自動化214 

9.3.6常用模塊和方法215 

9.4 Selenium 218 

9.4.1安裝Selenium 219 

9.4.2快速入門220 

9.4.3元素選取221 

9.4.4頁面操作222 

9.4.5等待225 

9.5動態爬蟲2:爬取去哪網227 

9.6小結230 

第10章Web端協議分析231 

10.1網頁登錄POST分析231 

10.1.1隱藏表單分析231 

10.1.2加密數據分析234 

10.2驗證碼問題246 

10.2.1 IP代理246 

10.2.2 Cookie登錄249 

10.2.3傳統驗證碼識別250 

10.2.4人工打碼251 

10.2 .5滑動 驗證碼252 

10.3 www>m>wap 252 

10.4小結254 

第11章終端協議分析255 

11.1 PC客戶端抓包分析255 

11.1.1 HTTP Analyzer簡介255 

11.1.2蝦米音樂PC端API實戰分析257 

11.2 App抓包分析259 

11.2.1 Wireshark簡介259 

11.2.2酷我聽書App端API實戰分析266 

11.3 API爬蟲:爬取mp3資源信息268 

11.4小結272 

第12章初窺Scrapy爬蟲框架273 

12.1 Scrapy爬蟲架構273 

12.2安裝Scrapy 275 

12.3創建cnblogs項目276 

12.4創建爬蟲模塊277 

12.5選擇器278 

12.5.1 Selector的用法278 

12.5.2 HTML解析實現280 

12.6命令行工具282 

12.7定義Item 284 

12.8翻頁功能286 

12.9構建Item Pipeline 287 

12.9 .1定制Item Pipeline 287 

12.9.2激活Item Pipeline 288 

12.10內置數據存儲288 

12.11內置圖片和文件下載方式289 

12.12啟動爬蟲294 

12.13強化爬蟲297 

12.13.1調試方法297 

12.13.2異常299 

12.13.3控制運行狀態300 

12.14小結301 

第13章深入Scrapy爬蟲框架302 

13.1再看Spider 302 

13.2 Item Loader 308 

13.2.1 Item與I tem Loader 308 

13.2.2輸入與輸出處理器309 

13.2.3 Item Loader Context 310 

13.2.4重用和擴展Item Loader 311 

13.2.5內置的處理器312 

13.3再看Item Pipeline 314 

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 Spider中間件324 

13.6.1激活Spider中間件324 

13.6.2編寫Spider中間件325 

13.7擴展327 

13.7.1配置擴展327 

13.7.2定制擴展328 

13.7.3內置擴展332 

13.8突破反爬蟲332 

13.8.1 UserAgent池333 

13.8.2禁用Cookies 333 

13.8.3設置下載延時與自動限速333 

13.8.4代理IP池334 

13.8.5 Tor代理334 

13.8.6分佈式下載器:Crawlera 337 

13.8.7 Google cache 338 

13.9小結339 

第14章實戰項目:Scrapy爬蟲340 

14.1創建知乎爬蟲340 

14.2定義Item 342 

14.3創建爬蟲模塊343 

14.3.1登錄知乎343 

14.3.2解析功能345 

14.4 Pipeline 351 

14.5優化措施352 

14.6部署爬蟲353 

14.6.1 Scrapyd 354 

14.6.2 Scrapyd—client 356 

14.7小結357 

深入篇

第15章增量式爬蟲360 

15.1去重方案360 

15.2 BloomFilter算法361 

15.2.1 BloomFilter原理361 

15.2.2 Python實現BloomFilter 363 

15.3 Scrapy和BloomFilter 364 

15.4小結366 

第16章分佈式爬蟲與Scrapy 367 

16.1 Redis基礎367 

16.1.1 Redis簡介367 

16.1.2 Redis的安裝和配置368 

16.1.3 Redis數據類型與操作372 

16.2 Python和Redis 375 

16.2.1 Python操作Redis 375 

16.2.2 Scrapy集成Redis 384 

16.3 MongoDB集群385 

16.4小結390 

第17章實戰項目:Scrapy分佈式爬蟲391 

17.1創建雲起書院爬蟲391 

17.2定義Item 393 

17.3編寫爬蟲模塊394 

17.4 Pipeline 395 

17.5應對反爬蟲機制397 

17.6去重優化400 

17.7小結401 

第18章人性化PySpider爬蟲框架403 

18.1 PySpider與Scrapy 403 

18.2安裝PySpider 404 

18.3創建豆瓣爬蟲405 

18.4選擇器409 

18.4.1 PyQuery的用法409 

18.4.2解析數據411 

18.5 Ajax和HTTP請求415 

18.5. 1 Ajax爬取415 

18.5.2 HTTP請求實現417 

18.6 PySpider和PhantomJS 417 

18.6 .1使用PhantomJS 418 

18.6.2運行420 

18.7數據存儲420 

18.8 PySpider爬蟲架構422 

18.9小結423