網絡爬蟲又稱為網絡蜘蛛,是指按照某種規則在網絡上爬取所需內容的腳本程序。它們被廣泛用於互聯網搜索引擎及各種網站的開發中,同時也是大數據和數據分析領域中的重要角色。眾所周知,每個網頁通常都包含其他網頁的入口,網絡爬蟲則通過一個網址依次進入其他網址獲取所需內容。爬蟲可以按一定邏輯大批量采集目標頁面內容,並對數據做進一步的處理,人們借此能夠更好更快地獲得並使用他們感興趣的信息,從而方便地完成很多有價值的工作。
Python是一種解釋型、面向對像的、動態數據類型的高級程序設計語言,Python語法簡潔,功能強大,在眾多高級語言中擁有十分出色的編寫效率,同時還擁有活躍的開源社區和海量程序庫,十分適合用來進行網絡內容的爬取和處理。本書將以Python語言為基礎,由淺入深地探討網絡爬蟲技術,同時,通過具體的程序編寫和實踐來幫助讀者了解和學習Python爬蟲。
本書共包含20個案例,從內容上分為四部分,分別代表不同的爬蟲階段及場景,包括了Python爬蟲編寫的基礎知識,以及對爬蟲數據的存儲、深入處理和分析。
第一部分爬蟲基礎篇。該部分簡單介紹了爬蟲的基本知識,便於讀者掌握相關知識,對爬蟲有基本的認識。
第二部分實戰基礎篇(9個案例)。該部分既有簡單、容易實現的入門案例,也有改進的進階案例。豐富的內容包括爬蟲常用的多種工具及方法,覆蓋了爬蟲的請求、解析、清洗、入庫等全部常用流程,是入門實踐的最佳選擇。
第三部分框架應用篇(5個案例)。該部分內容從爬蟲框架的角度出發,介紹了幾個常用框架的案例,重點介紹了Scrapy框架,以及基於Python 3後的新特性的框架,如Gain和PySpider等,同時也對高並發應用場景下的異步爬蟲做了案例解析,是不容錯過的精彩內容。
第四部分爬蟲應用場景及數據處理篇(6個案例)。該部分內容從實際應用的角度出發,通過不同的案例展示了爬蟲爬取的數據的應用場景以及針對爬蟲數據的數據分析,可以讓讀者體會到爬蟲在不同場景上的應用,從另一個角度展示了爬蟲的魅力,可以給讀者帶來一些新的思考。
這四部分由淺入深地介紹了爬蟲常用的方法和工具,以及對爬蟲數據處理的應用和實現。但需要注意的是,爬蟲的技術棧不僅僅包含這幾部分,而且在實際工作中的細分方法也不盡相同。本書隻是對目前爬蟲技術中最為常見的一些知識點,用案例的形式進行了分類和講解,而更多的應用也值得讀者在掌握一定的基礎技能後進一步探索。
本書特色
(1) 內容全面,結構清晰。本書通過案例詳細介紹網絡爬蟲技術的基礎知識,討論了數據爬取、數據處理和數據分析的整個流程。
(2) 循序漸進,生動簡潔。從最簡單的Python爬蟲程序案例開始講解,兼顧內容的廣度與深度,並使用生動簡潔的闡述方式,力爭詳略得當。
(3) 示例豐富,實戰性強。網絡爬蟲是實踐性、操作性非常強的技術,本書從生活實際出發,選取實用性、趣味性兼具的主題進行網絡爬蟲實踐。
(4) 內容新穎,不落窠臼。本書中的代碼均采用最新的Python 3版本,並使用了主流的Python框架和庫來編寫,注重內容的時效性。網絡爬蟲需要動手實踐纔能真正理解,本書最大限度地保證了代碼與程序示例的易用性和易讀性。
配套資源
為便於教與學,本書配有微課視頻(380分鐘)和源代碼。
(1) 獲取微課視頻的方式: 先刮開並用手機微信App掃描本書封底的文泉雲盤防盜碼,授權後再掃描書中相應的視頻二維碼,觀看教學視頻。
(2) 獲取源代碼和全書網址的方式: 先刮開並用手機微信App掃描本書封底的文泉雲盤防盜碼,授權後再掃描下方的二維碼即可獲取。
源代碼
全書網址
(3) 其他配套資源可以掃描本書封底的“書圈”二維碼,關注後回復本書書號,即可下載。
讀者對像
本書主要面向廣大從事數據分析、機器學習、數據挖掘或深度學習的專業人員,從事高等教育的專任教師,高等學校的在讀學生及相關領域的廣大科研人員。
本書由呂雲翔、韓延剛、張揚任主編,謝吉力、楊壯、王淥汀、王志鵬、楊瑞翌任副主編。此外,曾洪立參與了部分內容的編寫、素材整理和配套資源的制作工作。
本書作者在編寫過程中參考了諸多相關資料,在此對相關資料的作者表示衷心的感謝。
限於個人水平和時間倉促,書中難免存在疏漏之處,歡迎廣大讀者批評指正。
作者
2023年3月