- 實戰Python網絡爬蟲
- 黃永祥
- 1921字
- 2019-11-22 18:44:30
前言
隨著大數據和人工智能的普及,Python的地位也變得水漲船高,許多技術人員投身于Python開發,其中網絡爬蟲是Python最為熱門的應用領域之一。在爬蟲領域,Python可以說是處于霸主地位,Python能解決爬蟲開發過程中所遇到的難題,開發速度快且支持異步編程,大大縮短了開發周期。此外,從事數據分析的工程師,為獲取數據,很多時候也會用到網絡爬蟲的相關技術,因此,Python爬蟲編程已成為爬蟲工程師和數據分析師的必備技能。
本書結構
本書共分28章,各章內容概述如下:
第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章~第8章介紹Python第三方庫Requests、Requests-Cache爬蟲緩存和Requests-HTML,包括發送請求、使用代理IP、Cookies的讀寫、HTTP證書驗收和文件下載與上傳、復雜的請求方式、緩存的存儲機制、數據清洗以及Ajax動態數據爬取等內容。
第9章介紹網頁操控和數據爬取,重點講解Selenium的安裝與使用,并通過實戰項目“百度自動答題”,講解了Selenium的使用。
第10章介紹手機App數據爬取,包括Appium的原理與開發環境搭建、連接Android系統,并通過實戰項目“淘寶商品采集”,介紹了App數據的爬取技巧。
第11章介紹Splash、Mitmproxy與Aiohttp的安裝和使用,包括Splash動態數據抓取、Mitmproxy抓包和Aiohttp高并發抓取。
第12章介紹驗證碼的種類和識別方法,包括OCR的安裝和使用、驗證碼圖片處理和使用第三方平臺識別驗證碼。
第13章講述數據清洗的三種方法,包括字符串操作(截取、查找、分割和替換)、正則表達式的使用和第三方庫BeautifulSoup的安裝以及使用。
第14章講述如何將數據存儲到文件,包括CSV、Excel和Word文件的讀取和寫入方法。
第15章介紹ORM框架SQLAlchemy的安裝及使用,實現關系型數據庫持久化存儲數據。
第16章講述非關系型數據庫MongoDB的操作,包括MongoDB的安裝、原理和Python實現MongoDB的讀寫。
第17章至第21章介紹了5個實戰項目,分別是:爬取51Job招聘信息、分布式爬蟲——QQ音樂、12306搶票爬蟲、微博爬取和微博爬蟲軟件的開發。
第22章至第25章介紹了Scrapy爬蟲框架,包括Scrapy的運行機制、項目創建、各個組件的編寫(Setting、Items、Item Pipelines和Spider)和文件下載及Scrapy中間件,并通過實戰項目“Scrapy+Selenium爬取豆瓣電影評論”、“Scrapy+Splash爬取B站動漫信息”和“Scrapy+Redis分布式爬取貓眼排行榜”、“爬取鏈家樓盤信息”和“QQ音樂全站爬取”,深入講解了Scrapy的應用和分布式爬蟲的編寫技巧。
第26章介紹爬蟲的上線部署,包括非框架式爬蟲和框架式爬蟲的部署技巧。
第27章介紹常見的反爬蟲技術,并給出了可行的反爬蟲解決方案。
第28章介紹爬蟲框架的編寫,學習如何自己動手編寫一款爬蟲框架,以滿足特定業務場景的需求。
本書特色
循序漸進,涉及面廣:本書站在初學者的角度,循序漸進地介紹了使用Python開發網絡爬蟲的各種知識,內容由淺入深,幾乎涵蓋了目前網絡爬蟲開發的各種熱門工具和前瞻性技術。
實戰項目豐富,擴展性強:本書采用大量的實戰項目進行講解,力求通過實際應用使讀者更容易地掌握爬蟲開發技術,以應對業務需求。本書項目經過編者精心設計和挑選,根據實際開發經驗總結而來,涵蓋了在實際開發中所遇到的各種問題。對于精選項目,盡可能做到步驟詳盡、結構清晰、分析深入淺出,而且案例的擴展性強,讀者可根據實際需求擴展開發。
從理論到實踐,注重培養爬蟲開發思維:在講解過程中,不僅介紹理論知識,注重培養讀者的爬蟲開發思維,而且安排了綜合應用實例或小型應用程序,使讀者能順利地將理論應用到實踐中。
特色干貨,傾情分享:本書大部分內容都來自作者多年來的編程實踐,操作性很強。值得關注的是,本書還介紹了爬蟲軟件和爬蟲框架的開發,供學有余力的讀者擴展知識結構,提升開發技能。
源代碼下載
本書所有程序代碼均在Python 3.6下調試通過,源代碼Github下載地址:
https://github.com/xyjw/python-Reptile
你也可以掃描下面的二維碼下載。

如果你在下載過程中遇到問題,可發送郵件至554301449@qq.com獲得幫助,郵件標題為“實戰Python網絡爬蟲下載資源”。
技術服務
讀者在學習或者工作的過程中,如果遇到實際問題,可以加入QQ群93314951與筆者聯系,筆者會在第一時間給予回復。
讀者對象
本書主要適合以下讀者閱讀:
● Python網絡爬蟲初學者及在校學生。
● Python初級爬蟲工程師。
● 從事數據抓取和分析的技術人員。
● 學習Python程序設計的開發人員。
雖然筆者力求本書更臻完美,但由于水平所限,難免會出現錯誤,特別是實例中爬取的網站可能隨時更新,導致源碼在運行過程中出現問題,歡迎廣大讀者和高手專家給予指正,筆者將十分感謝。
黃永祥
2019年1月
- 大話PLC(輕松動漫版)
- 案例式C語言程序設計
- C語言程序設計(第2版)
- 信息安全技術
- Learning Firefox OS Application Development
- The DevOps 2.4 Toolkit
- 你不知道的JavaScript(中卷)
- Java編程技術與項目實戰(第2版)
- Building an RPG with Unity 2018
- Python算法指南:程序員經典算法分析與實現
- 常用工具軟件立體化教程(微課版)
- Odoo 10 Implementation Cookbook
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- Troubleshooting Citrix XenApp?
- 自學Python:編程基礎、科學計算及數據分析(第2版)