精通 Scrapy 網絡爬蟲 精通Scrapy网络爬虫

劉碩

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

商品描述

本書深入系統地介紹了Python流行框架Scrapy的相關技術及使用技巧。全書共14章,從邏輯上可分為基礎篇和高級篇兩部分,基礎篇重點介紹Scrapy的核心元素,如spider、selector、item、link等;高級篇講解爬蟲的高級話題,如登錄認證、文件下載、執行JavaScript、動態網頁爬取、使用HTTP代理、分佈式爬蟲的編寫等,並配合項目案例講解,包括供練習使用的網站,以及知乎、豆瓣、360爬蟲案例等。 本書案例豐富,註重實踐,代碼註釋詳盡,適合有一定Python語言基礎,想學習編寫復雜網絡爬蟲的讀者使用。

海報:

作者簡介

劉碩

碩士,曾就職於知名外企,從事一線開發工作10年,目前主要從事Python開發與教學工作,在慕課網開設有多門Python課程,深受學員歡迎。

目錄大綱

第1章初識Scrapy 1 
1.1網絡爬蟲是什麼1 
1.2 Scrapy簡介及安裝2 
1.3編寫第一個Scrapy爬蟲3 
1.3.1項目需求4 
1.3.2創建項目4 
1.3.3分析頁面5 
1.3.4實現Spider 6 
1.3.5運行爬蟲8 
1.4本章小結11 

第2章編寫Spider 12 
2.1 Scrapy框架結構及工作原理12 
2.2 Request和Response對象14 
2.2.1 Request對象15 
2.2.2 Response對象16 
2.3 Spider開發流程18 
2.3. 1繼承scrapy.Spider 19 
2.3.2為Spider命名20 
2.3.3設定起始爬取點20 
2.3.4實現頁面解析函數22 
2.4本章小結22 

第3章使用Selector提取數據23 
3.1 Selector對象23 
3.1. 1創建對象24 
3.1.2選中數據25 
3.1.3提取數據26 
3.2 Response內置Selector 28 
3.3 XPath 29
3.3.1基礎語法30 
3.3.2常用函數35 
3.4 CSS選擇器36 
3.5本章小結40 

第4章使用Item封裝數據41 
4.1 Item和Field 42 
4.2拓展Item子類44 
4.3 Field元數據44 
4.4本章小結47 

第5章使用Item Pipeline處理數據48 
5.1 Item Pipeline 48 
5.1.1實現Item Pipeline 49 
5.1.2啟用Item Pipeline 50 
5.2更多例子51 
5.2.1過濾重複數據51 
5.2.2將數據存入MongoDB 54 
5.3本章小結57 

第6章使用LinkExtractor提取鏈接58 
6.1使用LinkExtractor 59 
6.2描述提取規則60 
6.3本章小結65 

第7章使用Exporter導出數據66 
7.1指定如何導出數據67 
7.1.1命令行參數67 
7.1.2配置文件69 
7.2添加導出數據格式70 
7.2.1源碼參考70 
7.2.2實現Exporter 72 
7.3本章小結74

第8章項目練習75 
8.1項目需求77 
8.2頁面分析77 
8.3編碼實現83 
8.4本章小結88 

第9章下載文件和圖片89 
9.1 FilesPipeline和ImagesPipeline 89 
9.1.1 FilesPipeline使用說明90 
9.1.2 ImagesPipeline使用說明91 
9.2項目實戰:爬取matplotlib 例子源碼文件92 
9.2.1項目需求92 
9.2.2頁面分析94 
9.2.3編碼實現96 
9.3項目實戰:下載360圖片103 
9.3.1項目需求104 
9.3.2頁面分析104 
9.3. 3編碼實現107 
9.4本章小結109 

第10章模擬登錄110 
10.1登錄實質110 
10.2 Scrapy模擬登錄114 
10.2.1使用FormRequest 114 
10.2.2實現登錄Spider 117 
10.3識別驗證碼119 
10.3.1 OCR識別119 
10.3.2網絡平台識別123 
10.3.3人工識別127
10.4 Cookie登錄128 
10.4.1獲取瀏覽器Cookie 128 
10.4.2 CookiesMiddleware 源碼分析129 
10.4.3實現BrowserCookies- Middleware 132 
10.4.4爬取知乎個人信息133 
10.5本章小結135 

第11章爬取動態頁面136 
11.1 Splash渲染引擎140 
11.1.1 render.html端點141 
11.1.2 execute端點142 
11.2在Scrapy中使用Splash 145 
11.3項目實戰:爬取toscrape 中的名人名言146 
11.3.1項目需求146 
11.3.2頁面分析146 
11.3 .3編碼實現147 
11.4項目實戰:爬取京東商城中的書籍信息149 
11.4.1項目需求149 
11.4.2頁面分析149 
11.4.3編碼實現152 
11.5本章小結154 

第12章存入數據庫155 
12.1 SQLite 156 
12.2 MySQL 159 
12.3 MongoDB 165
12.4 Redis 169 
12.5本章小結173 

第13章使用HTTP代理174 
13.1 htt pProxyMiddleware 175 
13.1.1使用簡介175 
13.1.2源碼分析177 
13.2使用多個代理179 
13.3獲取免費代理180 
13.4實現隨機代理184 
13.5項目實戰:爬取豆瓣電影信息187 
13.5.1項目需求188 
13.5.2頁面分析189 
13.5.3編碼實現194 
13.6本章小結198 

第14章分佈式爬取199 
14.1 Redis的使用200 
14.1.1安裝Redis 200 
14.1.2 Redis基本命令201 
14.2 scrapy-redis源碼分析206 
14.2.1分配爬取任務部分207 
14.2.2匯總爬取數據部分214 
14.3使用scrapy-redis進行分佈式爬取217 
14.3.1搭建環境217 
14.3.2項目實戰218 
14.4本章小結224