如果你現在對Python爬出蠢蠢欲動?那麼我現在帶你徹底瞭解它!
1. 爬蟲概述
簡單來說,爬蟲就是獲取網頁並提取和儲存資訊的自動化程式,下面概要介紹一下。
(1) 獲取網頁
(2) 提取資訊
獲取網頁原始碼後,接下來就是分析網頁原始碼,從中提取我們想要的資料。首先,最通用的方法便是採用正則表示式提取,這是一個萬能的方法,但是在構造正則表示式時比較複雜且容易出錯。
另外,由於網頁的結構有一定的規則,所以還有一些根據網頁節點屬性、CSS選擇器或XPath來提取網頁資訊的庫,如Beautiful Soup、pyquery、lxml等。使用這些庫,我們可以高效快速地從中提取網頁資訊,如節點的屬性、文字值等。
提取資訊是爬蟲非常重要的部分,它可以使雜亂的資料變得條理清晰,以便我們後續處理和分析資料。
(3) 儲存資料
(4) 自動化程式
說到自動化程式,意思是說爬蟲可以代替人來完成這些操作。首先,我們手工當然可以提取這些資訊,但是當量特別大或者想快速獲取大量資料的話,肯定還是要藉助程式。爬蟲就是代替我們來完成這份爬取工作的自動化程式,它可以在抓取過程中進行各種異常處理、錯誤重試等操作,確保爬取持續高效地執行。
2. 能抓怎樣的資料
上述內容其實都對應各自的URL,是基於HTTP或HTTPS協議的,只要是這種資料,爬蟲都可以抓取。
3. JavaScript渲染頁面
有時候,我們在用urllib或requests抓取網頁時,得到的原始碼實際和瀏覽器中看到的不一樣。
這是一個非常常見的問題。現在網頁越來越多地採用Ajax、前端模組化工具來構建,整個網頁可能都是由JavaScript渲染出來的,也就是說原始的HTML程式碼就是一個空殼,例如:
因此,使用基本HTTP請求庫得到的原始碼可能跟瀏覽器中的頁面原始碼不太一樣。對於這樣的情況,我們可以分析其後臺Ajax介面,也可使用Selenium、Splash這樣的庫來實現模擬JavaScript渲染。
本節介紹了爬蟲的一些基本原理,這可以幫助我們在後面編寫爬蟲時更加得心應手。
好了給大家送上這一篇文的福利;新增小編學習交流群943752371即可