前言
最近身邊幾個學習爬蟲的朋友問我,獲取到資料之後不知道如何選擇資料清洗的方式,我給他們的需求做出瞭解答,發現還是有很多人都難在了這一步,今天分享一下我自己的思路。
獲取的資料型別
這一步其實是最開始的一步,當我們分析需要獲取的資料並去測試獲取的時候就會知道,目前比較常見的是HTML格式、JSON格式或者混合的格式。
HTML格式
當我們獲得的資料為HTML格式時,可以看看我們需要的資料是什麼樣子的,一般情況下是使用Xpath根據節點去獲取對應的資料,但是如果Xpath提取很複雜或者提取不到想要的資料,可以先通過Xpath獲取一個較大範圍的資料,再利用正規表示式去進一步資料清洗。
JSON格式
JSON格式就比較簡單了一般可以直接通過json
庫的.load()
方法反序列化就可以了,需要注意的是,反序列化後資料型別可能不是我們想要的這時候我們再通過型別轉換來幫助我們獲取想要的資料。
混合型別
假如混合型別中存在類JSON格式的,我們可以先通過正規表示式將該段提取出來,然後通過json
庫的.load()
方法反序列化獲取。如果情況比較複雜,也不用慌,先觀察資料的格式,可以將獲取到的資料拿出來,重新排版觀察後再進一步處理。
總結
資料清洗主要是考察我們對資料的觀察力與邏輯,只要掌握基本辦法然後多嘗試幾次就能掌握到規律。拿到資料後不要慌張,如果一開始不能清晰地判斷,就將資料重新排版再看看,一定要先觀察清楚在動手。Xpath是一定要學會的,許多爬蟲框架中也都是通過Xpath來進行資料清洗的。
本作品採用《CC 協議》,轉載必須註明作者和本文連結