精通Scrapy網絡爬蟲 ( 簡體 字) |
作者:劉碩 | 類別:1. -> 程式設計 -> 網路爬蟲 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 47823 詢問書籍請說出此書號!【有庫存】 NT售價: 295 元 |
出版日:10/1/2017 |
頁數:222 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302484936 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:關于本書 如今是互聯網的時代,而且正在邁入智能時代。人們早已意識到互聯網中的數據是有待開采的巨大金礦,這些數據將會改善我們的生活,網絡爬蟲開發工作崗位的出現和不斷增加正是基于對數據價值的重視。優秀的爬蟲框架就像是開采金礦的強力挖掘機,如果你能嫻熟地駕駛它們,就能大幅提高開采效率。 本書講解目前最流行的Python爬蟲框架Scrapy,它簡單易用、靈活易拓展、文檔豐富、開發社區活躍,使用Scrapy可以高效地開發網絡爬蟲應用。本書的讀者只需要有Python語言基礎即可,我們從零基礎、逐步由淺入深進行講解。第1~8章講解Scrapy開發的核心基礎部分,其中包括: ● 初識Scrapy ● 編寫Spider ● 使用Selector提取數據 ● 使用Item封裝數據 ● 使用Item Pipeline處理數據 ● 使用Link Extractor提取鏈接 ● 使用Exporter導出數據 ● 項目練習 第9~14章講解實際爬蟲開發中使用頻率最高的一些實用技術,其中包括: ● 下載文件和圖片 ● 模擬登錄 ● 爬取動態頁面 ● 存入數據庫 ● 使用HTTP代理 ● 分布式爬取 本書特色 本書的宗旨是以實用和實戰為教學目標,主要特色是: ● 所有基礎部分的講解都配有代碼示例,而不僅僅是枯燥的文檔。 ● 案例選材方面以講解知識點為核心,盡量選擇專門供練習爬蟲技術的網站(不易變動)或貼近日常生活的網站(京東、知乎、豆瓣、360)進行演示。 ● 在講解某些知識點時,對Scrapy源碼進行分析,讓讀者能夠“知其然并知其所以然”。 另外,Python是一門簡單易學、功能強大、開發效率極高的語言,近年來在網絡爬蟲、數據分析、機器學習等領域得到廣泛認可。雖然Python很容易上手,但想靈活恰當地運用它也并不簡單。作者在慕課網(www.imooc.com)上推出了一套《Python高級進階實戰》課程,可供有需求的讀者進行參考:http://coding.imooc.com/class/62.html。 致謝 感謝康爍和陳渝老師在清華大學信息研究院工作期間對我在專業方面的耐心指導。 感謝清華大學出版社的王金柱編輯給予我這次寫作的機會以及在寫作方面的指點。 感謝趙佳音同事認真閱讀全書并提出了許多的寶貴建議。 感謝劍超和任怡同學認真審閱全書并對書中代碼在多個Python版本上進行測試。 感謝女兒劉真,她的笑容化解了寫作本書時偶爾的小煩躁。
編 者 2017年8月8日
|
內容簡介:本書深入系統地介紹了Python流行框架Scrapy的相關技術及使用技巧。全書共14章,從邏輯上可分為基礎篇和高級篇兩部分,基礎篇重點介紹Scrapy的核心元素,如spider、selector、item、link等;高級篇講解爬蟲的高級話題,如登錄認證、文件下載、執行JavaScript、動態網頁爬取、使用HTTP代理、分布式爬蟲的編寫等,并配合項目案例講解,包括供練習使用的網站,以及京東、知乎、豆瓣、360爬蟲案例等。 本書案例豐富,注重實踐,代碼注釋詳盡,適合有一定Python語言基礎,想學習編寫復雜網絡爬蟲的讀者使用。 |
目錄:第1章初識Scrapy1 1.1網絡爬蟲是什么1 1.2Scrapy簡介及安裝2 1.3編寫第一個Scrapy爬蟲3 1.3.1項目需求4 1.3.2創建項目4 1.3.3分析頁面5 1.3.4實現Spider6 1.3.5運行爬蟲8 1.4本章小結11 第2章編寫Spider12 2.1Scrapy框架結構及工作原理12 2.2Request和Response對象14 2.2.1Request對象15 2.2.2Response對象16 2.3Spider開發流程18 2.3.1繼承scrapy.Spider19 2.3.2為Spider命名20 2.3.3設定起始爬取點20 2.3.4實現頁面解析函數22 2.4本章小結22 第3章使用Selector提取數據23 3.1Selector對象23 3.1.1創建對象24 3.1.2選中數據25 3.1.3提取數據26 3.2Response內置Selector28 3.3XPath29 3.3.1基礎語法30 3.3.2常用函數35 3.4CSS選擇器36 3.5本章小結40 第4章使用Item封裝數據41 4.1Item和Field42 4.2拓展Item子類44 4.3Field元數據44 4.4本章小結47 第5章使用ItemPipeline處理數據48 5.1ItemPipeline48 5.1.1實現ItemPipeline49 5.1.2啟用ItemPipeline50 5.2更多例子51 5.2.1過濾重復數據51 5.2.2將數據存入 MongoDB54 5.3本章小結57 第6章使用LinkExtractor提取鏈接58 6.1使用LinkExtractor59 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實現Exporter72 7.3本章小結74 第8章項目練習75 8.1項目需求77 8.2頁面分析77 8.3編碼實現83 8.4本章小結88 第9章下載文件和圖片89 9.1FilesPipeline和 ImagesPipeline89 9.1.1FilesPipeline使用 說明90 9.1.2ImagesPipeline使用 說明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.2Scrapy模擬登錄114 10.2.1使用FormRequest114 10.2.2實現登錄Spider117 10.3識別驗證碼119 10.3.1OCR識別119 10.3.2網絡平臺識別123 10.3.3人工識別127 10.4Cookie登錄128 10.4.1獲取瀏覽器 Cookie128 10.4.2CookiesMiddleware 源碼分析129 10.4.3實現BrowserCookies- Middleware132 10.4.4爬取知乎個人 信息133 10.5本章小結135 第11章爬取動態頁面136 11.1Splash渲染引擎140 11.1.1render.html端點141 11.1.2execute端點142 11.2在Scrapy中使用Splash145 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.1SQLite156 12.2MySQL159 12.3MongoDB165 12.4Redis169 12.5本章小結173 第13章使用HTTP代理174 13.1HttpProxyMiddleware175 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.1Redis的使用200 14.1.1安裝Redis200 14.1.2Redis基本命令201 14.2scrapy-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
|
序: |