Python 網絡爬蟲實例教程 Python网络爬虫实例教程(视频讲解版)

齊文光

  • 出版商: 人民郵電
  • 出版日期: 2018-07-01
  • 定價: $299
  • 售價: 8.5$254
  • 語言: 簡體中文
  • 裝訂: 平裝
  • ISBN: 7115484651
  • ISBN-13: 9787115484659
  • 相關分類: Web-crawler 網路爬蟲
  • 立即出貨 (庫存 < 3)

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

商品描述

本書主要內容包括:
網絡爬蟲概述、 requests庫入門、xapth語法詳解、
認識和應對反爬蟲、模擬登錄和驗證碼的處理、動態頁面的分析方法、
scrapy框架基礎、 應對反爬蟲策略、scrapy數據存儲、提交數據和保持登錄、crawlspider模板、圖片下載和文件下載、分佈式爬蟲、增量式爬蟲

作者簡介

齊文光

原中國網通山東分公司數據中心工程師愛好python編程,
善於編寫爬蟲和利用python進行數據分析和可視化,
對於機器學習和深度學習也有深入研究。

目錄大綱

第1章網絡爬蟲概述1 
1.1認識網絡爬蟲1 
1.1.1網絡爬蟲的含義1 
1.1.2網絡爬蟲的主要類型2 
1.1.3簡單網絡爬蟲的架構3 
1.1.4網絡爬蟲的應用場景3 
1.2 Python網絡爬蟲技術概況4 
1.2.1 Python中實現HTTP請求4 
1.2.2 Python中實現網頁解析5 
1.2.3 Python爬蟲框架6 
1.3搭建開發環境7 
1.3.1代碼運行環境7 
1.3.2開發編輯器8 
1.4本章小結及要求11 

第2章爬蟲基礎12 
2.1認識HTTP請求12 
2.1.1 HTTP請求的含義12 
2.1.2 HTTP請求信息12 
2.2爬蟲基礎——Requests庫入門15 
2.2.1 Requests庫的安裝15 
2.2.2 Requests庫的請求方法16 
2.2.3 Requests庫的響應對象17 
2.2.4響應狀態碼17 
2.2.5定制請求頭部18 
2.2.6重定向與超時18 
2.2.7傳遞URL參數19 
2.3爬蟲基礎—— Urllib庫基礎20
2.3.1 Urllib庫簡介20 
2.3.2發送GET請求20 
2.3.3模擬瀏覽器發送GET 
請求21 
2.3.4 POST發送一個請求22 
2.3.5 URL解析23 
2.4本章小結及要求24 

第3章網頁解析基礎25 
3.1網頁解析概述25 
3.1.1常用網頁解析工具25 
3.1.2 HTML源碼簡介25 
3.2 XPath語法基礎27 
3.2.1 Lxml庫的安裝27 
3.2.2 XPath語法基礎—— 
通過路徑查找元素28 
3.2.3通過屬性查找元素30 
3.2.4提取屬性值31 
3.2.5 XPath的高級用法31 
3.3抓取百度首頁實例33 
3.4 Beautiful Soup庫和正則表達式37 
3.4.1 Beautiful Soup簡介38 
3.4.2 Beautiful Soup基本用法39 
3.4.3 Beautiful Soup標準選擇器40 
3.4.4正則表達式41 
3.5本章小結及要求45 

第4章基礎爬蟲實例46 
4.1 Q房網爬蟲實例46 
4.1.1網站頁面分析46
4.1.2編寫Q房網二手房房源爬蟲
代碼47 
4.1.3保存爬取到的信息50 
4.2多層頁面的爬取51 
4.2.1爬取詳情頁面分析51 
4.2.2編寫爬取詳情頁面的代碼52 
4.3下載房源圖片和實現多線程
 爬蟲55 
4.3.1下載房源圖片55 
4.3.2實現簡單多線程爬蟲56 
4.4本章小結及要求59 

第5章Requests模擬登錄60 
5.1使用Cookies登錄網站60 
5.1 .1網站的保持登錄機制60 
5.1.2登錄豆瓣網站61 
5.2模擬登錄網站63 
5.2.1豆瓣網站的登錄分析63 
5.2.2 Requests會話對象66 
5.2.3編寫Requests登錄豆瓣
網站的代碼67 
5.3驗證碼的處理68 
5.3.1帶驗證碼的網站登錄分析68 
5.3.2驗證碼的識別和處理70 
5.3.3編寫帶驗證碼的豆瓣網站
登錄代碼71 
5.4本章小結及要求73 

第6章認識和應對反爬蟲74 
6.1常用的網站反爬蟲策略及應對
 措施74 
6.1.1常用的網站反爬蟲策略74
6.1.2應對網站反爬蟲的措施75 
6.2使用IP代理的方法76 
6.2.1 Requests中使用代理IP 76 
6.2.2獲取免費代理IP 77 
6.3使用IP代理爬取微信文章78 
6.3.1分析微信文章的搜索頁面
及其URL的構造特點78 
6.3.2編寫爬蟲代碼80 
6.4本章小結及要求82 

第7章動態網頁的抓取84 
7.1動態網頁及其爬取方法84 
7.1.1動態網頁的含義84 
7.1. 2動態網頁的爬取辦法85 
7.2動態網頁的爬取技巧86 
7.2.1鏈家經紀人頁面分析86 
7.2.2鏈家經紀人爬蟲實現88 
7.3 Selenium庫的安裝與使用90 
7.3.1 Selenium庫的安裝90 
7.3.2 chromedriver的安裝和使用91 
7.3.3 Selenium的簡單使用92 
7.4爬取新浪微博網站95 
7.4.1新浪微博網站爬取分析95 
7.4.2新浪微博網站爬蟲實現95 
7.4.3爬蟲的簡單去重98 
7.4.4使用Chrome瀏覽器的
headless模式100 
7.5本章小結及要求101 

第8章動態網頁與應對反爬蟲
 綜合實例102 
8.1拉勾網網站分析102 
8.1.1拉勾網網站頁面初步分析102 
8.1.2解析json數據和招聘崗位
詳情頁分析105 
8.2拉勾網爬蟲實現107 
8.2.1拉勾網爬蟲的初步實現107 
8.2.2拉勾網爬蟲的進一步
完善109 
8.3探索拉勾網反爬蟲機制110 
8.4本章小結及要求113 

第9章Scrapy爬蟲框架基礎114 
9.1 Scrapy爬蟲框架簡介與安裝114 
9.1.1 Scrapy爬蟲框架簡介114 
9.1.2 Scrapy爬蟲框架的安裝114 
9.2 Scrapy目錄結構和簡單爬蟲
 實例116 
9.2.1 Scrapy目錄結構116 
9.2.2百度爬蟲實現119 
9.2.3 Scrapy選擇器120 
9.3 Scrapy命令行工具、選擇器、
 數據容器122 
9.3.1 Scrapy常用命令行工具122 
9.3.2 Scrapy選擇器高級應用124 
9.3.3 Scrapy數據容器125 
9.4本章小結及要求126 

第10章BasicSpider類和
 圖片下載127
10.1 BasicSpider類127 
10.1.1 Scrapy的爬蟲類和模板127 
10.1.2 BasicSpider類簡介128 
10.2爬取我愛我家二手房房源
 數據129 
10.2.1我愛我家網站分析129 
10.2.2我愛我家爬蟲項目實現131 
10.2.3數據的快捷輸出133 
10.3圖片下載和翻頁的另一種
 方法134 
10.3.1 Scrapy圖片下載簡介134 
10.3.2我愛我家房源圖片下載134 
10.3.3翻頁的另一種方法135 
10.4本章小結及要求137 

第11章CrawlSpider類和Scrapy 
 框架概覽138 
11.1 CrawlSpider類簡介138 
11.2房天下二手房房源爬蟲139 
11.2.1房天下網站分析139 
11.2.2房天下二手房房源爬蟲
 實現140 
11.3 Scrapy架構143 
11.3.1 Scrapy架構概覽143 
11.3.2 Scrapy中的數據流144 
11.4本章小結及要求145 

第12章Scrapy應對反爬蟲
 策略146 
12.1常用的反爬蟲設置146
12.2下載器中間件148 
12.2.1下載器中間件簡介148 
12.2.2激活下載器中間件149 
12.2.3編寫下載器中間件150 
12.3設置隨機用戶代理和IP代理150 
12.3.1設置隨機用戶代理150 
12.3.2設置隨機IP代理152 
12.4本章小結及要求153 

第13章登錄網站和提交數據154 
13.1 Cookies登錄網站的高級技巧154 
13.1.1 Request對象154 
13.1.2利用Cookies登錄網站的
 技巧155 
13.2使用FormRequest向網站提交
 數據157 
13.2.1 FormRequest類157 
13.2.2爬取Q房網二手房房源158 
13.3 Scrapy登錄網站的高級技巧159 
13.3.1 FormRequest.from_response() 
 方法159 
13.3.2利用Scrapy登錄網站的
 技巧160 
13.4本章小結及要求161 

第14章存儲數據到數據庫162 
14.1 MongoDB的安裝與使用162 
14.1.1 Scrapy存儲數據與
 MongoDB簡介162
14.1.2 MongoDB的安裝162 
14.1.3 MongoDB的配置與啟動163 
14.1.4 MongoDB的可視化管理164 
14.2爬取鏈家經紀人成交數據165 
14.2.1鏈家移動頁面分析165 
14.2.2定義Items、編寫spider 168 
14.3設置鏈家網爬蟲pipeline 171 
14.3.1在Python中操作
 MongoDB 171 
14.3.2配置pipeline 174 
14.3.3在settings中啟用pipeline 175 
14.4存儲數據到MySQL 175 
14.4.1使用pymysql操作MySQL 
 數據庫175 
14.4.2把鏈家經紀人成交數據存儲
 到MySQL數據庫176 
14.5本章小結及要求177 

第15章分佈式爬蟲與爬蟲部署178 
15.1分佈式爬蟲原理與Redis的
 安裝178 
15.1.1 Scrapy分佈式爬蟲原理178 
15.1.2 Redis的安裝179 
15.2 scrapy_redis實現分佈式爬蟲181 
15.2.1 scrapy_redis庫181 
15.2.2分佈式爬蟲的部署和存儲182
15.3使用Scrapyd部署爬蟲183 
15.3.1 Scrapyd簡介和安裝183 
15.3.2使用scrapyd-client部署
 爬蟲185 
15.4 Scrapy爬蟲去重187 
15.4.1 Scrapy去重方案187 
15.4.2 Bloom Filter過濾188 
15.5本章小結及要求189 

第16章項目實戰——知乎用戶
 爬蟲及數據分析190 
16.1知乎用戶爬蟲——知乎網站
 分析190 

16.1.1知乎網站初步分析190 
16.1.2知乎網站進一步分析192 
16.2知乎爬蟲的實現194 
16.2.1編寫知乎爬蟲代碼194 
16.2.2使用MongoDB和scrapy_redis 
 搭建分佈式爬蟲196 
16.3爬蟲數據分析197 
16.3.1爬蟲數據分析工具197 
16.3.2知乎用戶數據加載199 
16.3.3爬蟲數據簡單分析200 
16.4本章小結及要求206