玩轉Python網絡爬蟲 ( 簡體 字) |
作者:黃永祥 | 類別:1. -> 程式設計 -> Python 2. -> 程式設計 -> 網路爬蟲 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 49292 詢問書籍請說出此書號!【有庫存】 NT售價: 345 元 |
出版日:8/1/2018 |
頁數:305 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302503286 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:隨著大數據和人工智能的普及,Python的地位也變得水漲船高,許多技術人員投身于Python開發,其中網絡爬蟲是Python最為熱門的應用領域之一。在爬蟲領域,Python可以說是處于霸主地位,Python能解決爬蟲開發過程中所遇到的難題,開發速度快且支持異步編程,大大縮短了開發周期,因此,學習Python爬蟲編程,或為爬蟲工程師的必備技能。 本書結構 本書共分18章,各章內容概述如下: 第1章介紹什么是網絡爬蟲、爬蟲的類型和原理、爬蟲搜索策略和反爬蟲技術以及解決方案。 第2章講解爬蟲開發的基礎知識,包括HTTP協議、請求頭和Cookies的作用、HTML的布局結構、JavaScript的介紹、JSON的數據格式和Ajax的原理。 第3章介紹使用Chrome開發工具分析爬取網站,重點介紹開發者工具的Elements和Network標簽的功能和使用方式,并通過開發者工具分析QQ網站。 第4章主要介紹Fiddler抓包工具的原理和安裝配置,Fiddler用戶界面的各個功能及使用方法。 第5章講述了Urllib在Python 2和Python 3的變化及使用,包括發送請求、使用代理IP、Cookies的讀寫、HTTP證書驗收和數據處理。 第6章介紹Python第三方庫Requests的安裝和使用,包括發送請求、使用代理IP、Cookies的讀寫、HTTP證書驗收和文件下載與上傳。 第7章介紹驗證碼的種類和識別方法,包括OCR的安裝和使用、驗證碼圖片處理和使用第三方平臺識別驗證碼。 第8章講述數據清洗的三種方法,包括字符串操作(截取、查找、分割和替換)、正則表達式的使用和第三方庫Beautiful Soup的安裝以及使用。 第9章講述如何將數據存儲到文件,分別介紹了CSV、Excel和Word的讀寫方法及數據存儲。 第10章介紹ORM框架SQLAlchemy的安裝及使用,實現關系型數據庫持久化存儲數據,這是企業級的關系型數據庫操作。 第11章講述非關系型數據庫MongoDB的操作,介紹MongoDB的安裝、原理結構和Python實現MongoDB讀寫。 第12章介紹爬取淘寶商品信息實例,包括網站分析、數據抓取、數據清洗以及存儲在CSV文件中,讀者應掌握爬蟲的開發流程。 第13章介紹爬取QQ音樂全站歌曲實例,包括網站分析、數據抓取和實現SQLAlchemy存儲歌曲信息并下載文件,使用異步編程實現分布式開發,提高爬取效率。 第14章是在第12章的基礎上實現爬蟲軟件開發,包括PyQt5的安裝、使用Qt Designer設計軟件界面、搭建MVC開發架構。 第15章實現12306搶票爬蟲開發,包括用戶登錄、查詢車次、預訂車票、提交訂單和生成訂單的分析以及功能實現。 第16章介紹微博爬蟲開發,包括微博登錄、采集熱門微博、發布微博、關注微博用戶和轉發評論的分析以及功能實現。 第17章介紹Scrapy爬蟲框架,包括Scrapy的運行機制、安裝、項目創建以及各個組件的編寫(Setting、Items、Item Pipelines和Spider)和文件下載。 第18章介紹Scrapy爬取QQ音樂全站歌曲實例,包括編寫Spider實現數據抓取、Item Pipelines實現歌曲信息存儲和歌曲下載、Items定義數據存儲對象和Setting配置項目設置。 本書特色 循序漸進,知識全面:本書站在初學者的角度,圍繞Python網絡爬蟲開發展開 講解,從初學者必備基礎知識著手,循序漸進地介紹了使用Python 3開發網絡爬蟲的各種知識,內容難度適中,由淺入深,實用性強,覆蓋面廣,條理清晰,且具有較強的邏輯性和系統性。 實例豐富,擴展性強:本書采用大量的實例進行講解,力求通過實際操作使讀者更容易地掌握爬蟲開發。本書實例都經過作者精心設計和挑選,根據作者的實際開發經驗總結而來,涵蓋了在實際開發中所遇到的各種問題。對于精選案例,都盡可能做到步驟詳盡、結構清晰、分析深入淺出,而且案例的擴展性強,讀者可根據實際需求擴展開發。 基于理論,注重實踐:在講解過程中,不僅介紹理論知識,而且安排了綜合應用實例或小型應用程序,將理論應用到實踐中,加強讀者的實際開發能力,鞏固開發技能和相關知識。 源碼提供 本書的實例源碼可以在百度網盤下載。 鏈接地址1:https://pan.baidu.com/s/1htxBpic 密碼:aesy 鏈接地址2:https://pan.baidu.com/s/1E7axRN9rC0i9ASM1124lAw 如果你在下載過程中遇到問題,可發送郵件至booksaga@126.com獲得幫助,郵件標題為“玩轉Python網絡爬蟲下載資源”。 在線服務 讀者在學習或者工作的過程中,如果遇到實際問題,可以加入QQ群93314951或657341423與筆者聯系,筆者會在第一時間給予回復。 讀者對象 本書主要適合以下讀者閱讀: Python網絡爬蟲初學者以及在校學生。 Python初級爬蟲工程師。 從事數據抓取的技術人員。 其他學習Python網絡爬蟲的開發人員。 雖然筆者力求本書更臻完美,但由于水平所限,難免會出現錯誤,特別是實例中爬取的網站可能隨時更新,導致源碼在運行過程中出現問題,歡迎廣大讀者和高手專家給予指正,筆者將十分感謝。
編 者 2018年1月 |
內容簡介:本書站在初學者的角度,從原理到實踐,循序漸進地講述了使用Python開發網絡爬蟲的核心技術。全書從邏輯上可分為基礎篇、實戰篇和爬蟲框架篇三部分。基礎篇主要介紹了編寫網絡爬蟲所需的基礎知識,分別是網站分析、數據抓取、數據清洗和數據入庫。網站分析講述如何使用Chrome和Fiddler抓包工具對網絡做全面分析;數據抓取介紹了Python爬蟲模塊Urllib和Requests的基礎知識;數據清洗主要介紹字符串操作、正則和Beautiful Soup的使用;數據入庫分別講述了MySQL和MongoDB的操作,通過ORM框架SQLAlchemy實現數據持久化,實現企業級開發。實戰篇深入講解了分布式爬蟲、爬蟲軟件開發與應用、12306搶票程序和微博爬取,所舉示例均來自于開發實踐,可幫助讀者快速提升技能,開發實際項目。框架篇主要講述Scrapy的基礎知識,并通過爬取QQ音樂為實例,讓讀者深層次了解Scrapy的使用。 本書內容豐富,注重實戰,適用于從零開始學習網絡爬蟲的初學者,或者是已經有一些網絡爬蟲編寫經驗,但希望更加全面、深入理解Python爬蟲的開發人員。 |
目錄:第1章?理解網絡爬蟲1 1.1爬蟲的定義1 1.2爬蟲的類型2 1.3爬蟲的原理3 1.4爬蟲的搜索策略5 1.5反爬蟲技術及解決方案6 1.6本章小結8 第2章?爬蟲開發基礎9 2.1HTTP與HTTPS9 2.2請求頭11 2.3Cookies13 2.4HTML14 2.5JavaScript16 2.6JSON18 2.7Ajax19 2.8本章小結20 第3章?Chrome分析網站21 3.1Chrome開發工具21 3.2Elements標簽22 3.3Network標簽23 3.4分析QQ音樂27 3.5本章小結29 第4章?Fiddler抓包工具30 4.1Fiddler介紹30 4.2Fiddler安裝配置31 4.3Fiddler抓取手機應用33 4.4Toolbar工具欄36 4.5WebSession列表37 4.6View選項視圖40 4.7Quickexec命令行41 4.8本章小結42 第5章?Urllib數據抓取43 5.1Urllib簡介43 5.2發送請求44 5.3復雜的請求46 5.4代理IP47 5.5使用Cookies48 5.6證書驗證50 5.7數據處理51 5.8本章小結52 第6章?Requests數據抓取54 6.1Requests簡介及安裝54 6.2請求方式55 6.3復雜的請求方式57 6.4下載與上傳60 6.5本章小結63 第7章?驗證碼識別64 7.1驗證碼類型64 7.2OCR技術66 7.3第三方平臺69 7.4本章小結72 第8章?數據清洗74 8.1字符串操作74 8.2正則表達式78 8.3BeautifulSoup介紹及安裝84 8.4BeautifulSoup的使用86 8.5本章小結90 第9章?文檔數據存儲92 9.1CSV數據寫入和讀取92 9.2Excel數據寫入和讀取94 9.3Word數據寫入和讀取99 9.4本章小結101 第10章?ORM框架104 10.1SQLAlchemy介紹104 10.2安裝SQLAlchemy105 10.3連接數據庫106 10.4創建數據表108 10.5添加數據111 10.6更新數據112 10.7查詢數據114 10.8本章小結116 第11章?MongoDB數據庫操作118 11.1MongoDB介紹118 11.2安裝及使用120 11.2.1MongoDB120 11.2.2MongoDB可視化工具121 11.2.3PyMongo123 11.3連接數據庫123 11.4添加文檔125 11.5更新文檔126 11.6查詢文檔127 11.7本章小結130 第12章?項目實戰:爬取淘寶商品信息131 12.1分析說明131 12.2功能實現134 12.3數據存儲136 12.4本章小結138 第13章?項目實戰:分布式爬蟲——QQ音樂139 13.1分析說明139 13.2歌曲下載140 13.3歌手和歌曲信息145 13.4分類歌手列表148 13.5全站歌手列表150 13.6數據存儲152 13.7分布式概念154 13.7.1GIL是什么154 13.7.2為什么會有GIL154 13.8并發庫concurrent.futures155 13.9分布式爬蟲157 13.10本章小結159 第14章?項目實戰:爬蟲軟件——淘寶商品信息161 14.1分析說明161 14.2GUI庫介紹162 14.3PyQt5安裝及環境搭建162 14.4軟件界面開發165 14.5MVC——視圖169 14.6MVC——控制器171 14.7MVC——模型172 14.8擴展思路173 14.9本章小結174 第15章?項目實戰:12306搶票176 15.1分析說明176 15.2驗證碼驗證177 15.3用戶登錄與驗證181 15.4查詢車次187 15.5預訂車票193 15.6提交訂單196 15.7生成訂單204 15.8本章小結209 第16章?項目實戰:玩轉微博219 16.1分析說明219 16.2用戶登錄220 16.3用戶登錄(帶驗證碼)232 16.4關鍵字搜索熱門微博240 16.5發布微博247 16.6關注用戶253 16.7點贊和轉發評論257 16.8本章小結263 第17章?Scrapy爬蟲框架265 17.1爬蟲框架265 17.2Scrapy的運行機制267 17.3安裝Scrapy268 17.4爬蟲開發快速入門270 17.5Spiders介紹277 17.6Spider的編寫278 17.7Items的編寫282 17.8ItemPipeline的編寫284 17.9Selectors的編寫288 17.10文件下載291 17.11本章小結296 第18章?項目實戰:Scrapy爬取QQ音樂298 18.1分析說明298 18.2創建項目299 18.3編寫setting300 18.4編寫Items301 18.5編寫ItemPipelines302 18.6編寫Spider305 18.7本章小結310 |
序: |