從零開始學Scrapy網絡爬蟲(視頻教學版)( 簡體 字) | |
作者:張濤 | 類別:1. -> 程式設計 -> 網路爬蟲 |
出版社:機械工業出版社 | 3dWoo書號: 51749 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:9/12/2019 | |
頁數:283 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111634744 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
前言
第1篇 基礎篇 第1章 Python基礎2 1.1 Python簡介2 1.1.1 Python簡史2 1.1.2 搭建Python環境3 1.1.3 安裝PyCharm集成開發環境6 1.2 Python基本語法7 1.2.1 基本數據類型和運算7 1.2.2 運算符和表達式8 1.2.3 條件判斷語句9 1.2.4 循環語句10 1.2.5 字符串12 1.3 Python內置數據結構14 1.3.1 列表15 1.3.2 字典16 1.3.3 元組17 1.3.4 遍歷對象集合17 1.4 Python模塊化設計18 1.4.1 函數18 1.4.2 迭代器(iterator)20 1.4.3 生成器(Generator)20 1.4.4 類和對象22 1.4.5 文件與異常23 1.5 本章小結25 第2章 網絡爬蟲基礎26 2.1 HTTP基本原理26 2.1.1 URL介紹27 2.1.2 HTTP和HTTPS協議27 2.1.3 HTTP請求(Request)27 2.1.4 HTTP響應(Response)30 2.2 網頁基礎32 2.2.1 HTML文檔33 2.2.2 網頁的結構33 2.2.3 節點樹及節點之間的關系34 2.3 使用XPath提取網頁信息36 2.3.1 XPath介紹36 2.3.2 XPath常用路徑表達式36 2.3.3 XPath帶謂語的路徑表達式39 2.4 本章小結40 第3章 Scrapy框架介紹41 3.1 網絡爬蟲原理41 3.1.1 爬蟲執行的流程41 3.2 Scrapy框架結構及執行流程42 3.2.1 Scrapy框架結構42 3.2.2 Scrapy執行流程44 3.3 Scrapy安裝44 3.3.1 使用pip安裝Scrapy44 3.3.2 常見安裝錯誤45 3.3.3 驗證安裝46 3.4 第一個網絡爬蟲46 3.4.1 需求分析46 3.4.2 創建項目47 3.4.3 分析頁面48 3.4.4 實現Spider爬蟲功能49 3.4.5 運行爬蟲50 3.4.6 常見問題51 3.5 本章小結52 第4章 Scrapy網絡爬蟲基礎53 4.1 使用Spider提取數據53 4.1.1 Spider組件介紹53 4.1.2 重寫start_requests()方法55 4.1.3 Request對象57 4.1.4 使用選擇器提取數據58 4.1.5 Response對象與XPath59 4.1.6 Response對象與CSS61 4.1.7 進一步了解Response對象62 4.1.8 多頁數據的爬取63 4.2 使用Item封裝數據64 4.2.1 定義Item和Field65 4.2.2 使用ItemLoader填充容器66 4.3 使用Pipeline處理數據69 4.3.1 Item Pipeline介紹70 4.3.2 編寫自己的Item Pipeline70 4.3.3 啟用Item Pipeline71 4.3.4 多個Item Pipeline71 4.3.5 保存為其他類型文件72 4.4 項目案例:爬取鏈家網二手房信息75 4.4.1 項目需求75 4.4.2 技術分析76 4.4.3 代碼實現及解析77 4.5 本章小結85 第2篇 進階篇 第5章 數據庫存儲88 5.1 MySQL數據庫88 5.1.1 關系型數據庫概述88 5.1.2 下載和安裝MySQL數據庫88 5.1.3 數據庫管理工具Navicat92 5.1.4 Python訪問MySQL數據庫94 5.1.5 項目案例97 5.2 MongoDB數據庫100 5.2.1 NoSQL概述100 5.2.2 MongoDB介紹100 5.2.3 MongoDB的下載和安裝101 5.2.4 Python訪問MongoDB數據庫102 5.2.5 項目案例108 5.3 Redis數據庫111 5.3.1 Redis的下載和安裝111 5.3.2 Python訪問Redis113 5.3.3 項目案例118 5.4 本章小結121 第6章 JavaScript與AJAX數據爬取122 6.1 JavaScript簡介122 6.2 項目案例:爬取QQ音樂榜單歌曲122 6.2.1 項目需求122 6.2.2 技術分析123 6.2.3 代碼實現及解析126 6.2.4 更常見的動態網頁128 6.3 AJAX簡介129 6.4 項目案例:爬取豆瓣電影信息130 6.4.1 項目需求130 6.4.2 技術分析130 6.4.3 代碼實現及解析133 6.5 本章小結135 第7章 動態渲染頁面的爬取136 7.1 Selenium實現動態頁面爬取136 7.1.1 Selenium安裝136 7.1.2 Selenium簡單實現137 7.1.3 Selenium語法138 7.2 項目案例:爬取今日頭條熱點新聞145 7.2.1 項目需求145 7.2.2 技術分析145 7.2.3 代碼實現及解析147 7.3 Splash實現動態頁面爬取151 7.3.1 Splash介紹151 7.3.2 Splash環境搭建152 7.3.3 Splash模塊介紹156 7.4 項目案例:爬取一號店中的iPhone手機信息162 7.4.1 項目需求162 7.4.2 技術分析163 7.4.3 代碼實現及解析165 7.5 本章小結168 第8章 模擬登錄169 8.1 模擬登錄解析169 8.1.1 登錄過程解析169 8.1.2 模擬登錄的實現171 8.2 驗證碼識別174 8.2.1 使用OCR識別驗證碼174 8.2.2 處理復雜驗證碼176 8.2.3 五花八門的驗證碼177 8.3 Cookie自動登錄177 8.3.1 Cookie介紹178 8.3.2 獲取Cookie的庫—browsercookie179 8.4 項目案例:爬取起點中文網某用戶的書架信息180 8.4.1 項目需求180 8.4.2 技術分析180 8.4.3 代碼實現及解析182 8.5 本章小結184 第9章 突破反爬蟲技術185 9.1 反爬蟲技術及突破措施185 9.2 偽裝成不同的瀏覽器187 9.2.1 UserAgentMiddleware中間件介紹187 9.2.2 實現偽裝成隨機瀏覽器188 9.2.3 更簡單的方法191 9.3 使用HTTP代理服務器192 9.3.1 HTTP代理服務器192 9.3.2 獲取免費代理193 9.3.3 實現隨機代理199 9.4 本章小結202 第10章 文件和圖片下載203 10.1 文件下載203 10.1.1 FilesPipeline執行流程203 10.2 項目案例:爬取seaborn案例源文件204 10.2.1 項目需求204 10.2.2 技術分析206 10.2.3 代碼實現及解析206 10.2.4 更多功能211 10.3 圖片下載212 10.4 項目案例:爬取攝圖網圖片213 10.4.1 項目需求213 10.4.2 技術分析215 10.4.3 代碼實現及解析215 10.5 本章小結221 第3篇 高級篇 第11章 Scrapy-Redis實現分布式爬蟲224 11.1 分布式爬蟲原理224 11.2 Scrapy-Redis實現分布式爬蟲分析225 11.2.1 實現分布式爬蟲思路225 11.2.2 Scrapy-Redis代碼解析226 11.2.3 分布式爬蟲功能配置231 11.3 項目案例:分布式爬蟲爬取攝圖網圖片233 11.3.1 技術分析233 11.3.2 代碼實現及解析234 11.4 本章小結237 第12章 Scrapyd部署分布式爬蟲238 12.1 使用Scrapyd部署分布式爬蟲238 12.1.1 Scrapyd的安裝及運行238 12.1.2 Scrapyd功能介紹241 12.2 使用Scrapyd-Client批量部署244 12.3 使用Docker部署分布式爬蟲248 12.4 使用Gerapy管理分布式爬蟲253 12.5 本章小結258 第13章 綜合項目:搶票軟件的實現259 13.1 項目需求259 13.2 技術分析262 13.3 項目實現及解析263 13.3.1 搭建Scrapy項目框架263 13.3.2 實現獲取站點信息的爬蟲264 13.3.3 實現站點處理類266 13.3.4 實現購票類267 13.3.5 實現購票功能280 13.3.6 運行項目282 13.3.7 優化項目282 13.4 本章小結283 本書從零開始,循序漸進地介紹了目前*流行的網絡爬蟲框架Scrapy。本書共13章。其中第1~4章為基礎篇,介紹了Python基礎、網絡爬蟲基礎、Scrapy框架及基本的爬蟲功能。第5~10章為進階篇,介紹了如何將爬蟲數據存儲于MySQL、MongoDB和Redis數據庫中;如何實現異步的Ajax數據的爬取;如何使用Selenium和Splash實現動態網站的爬取;如何實現模擬登錄功能;如何突破反爬蟲技術,以及如何實現文件和圖片的下載。第11~13章為高級篇,介紹了使用Scrapy-Redis實現分布式爬蟲;使用Scrapyd和Docker部署分布式爬蟲;使用Gerapy管理分布式爬蟲,并實現了一個搶票軟件的綜合項目。
本書適合爬蟲初學者、爬蟲愛好者及高校相關學生,也適合數據爬蟲工程師作為參考讀物,同時也適合各大院校和培訓機構作為教材使用。 |