Power Query網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

如果你到愛淘寶上搜索一個關鍵詞,就會出來很多結果,任意一個關鍵詞對應的至少也有幾十頁的內容:

如果你要把所有這些頁面的數據抓取下來做分析,看看銷售金額,看看哪些店鋪銷售的好:

哪些產品賣得好:

接下來,我們就來做這個網站數據的抓取。

網址分析

打開愛淘寶網站,輸入關鍵字得到搜索結果網頁上右鍵,檢查然後點選幾個頁面的數字

網址分析的過程就是一個找規律的過程:

我們點選頁碼時會有對應的網址URL,我們要觀察這個網址的變化規律,其中我們注意到兩點:

page=4key=Excel

前後都是用&符號連接的,當我們選不同的頁面時,page會變化,正好對應的時頁碼,我們就知道,這個page對應的就是:

而key對應的就是我們搜索的關鍵字--“Excel”。

自定義抓取函數

數據>從網站輸入我們找到的實際網址URL修改成我們想要的函數

這個函數有兩個參數:

page:要抓取的頁碼key:搜索關鍵字

用這兩個參數替換掉URL中的頁碼數字和“Excel”

嘗試抓取

建一個列表1-100,轉換到表,並且轉換為文本格式自定義列,調用自定義函數

愛淘寶的數據格式是json,Power Query可以直接解析。

轉換數據

展開記錄刪除不需要的列替換格式碼

數據很整齊,除了產品聲明中有些格式符號,統一替換掉就行,另外圖片URL和其他跳轉的URL都沒有https,如果你要在Power BI中製作圖片牆,就需要替換“//”為“https://”,這樣這個圖片URL才是有效的URL。

上面的這個數據抓取的過程在Excel中與Power BI Desktop中幾乎是一樣的,如果你在Power BI Desktop中抓取了數據,就可以直接在Power BI Desktop中做出漂亮的圖片牆。

Power BI Desktop圖片URL這個問題好像是修復了,之前我們還需要用二進制保存圖片到本地,才能顯示圖片,今天試了一下,可以直接通過圖片URL顯示圖片了。

最後總結一下:

這次的抓取沒有遇到斷網的情況,這個網站視乎不反對大家抓取數據,而且使用Power Query抓取關鍵字Excel共100頁一共5991條數據,用不了幾秒鐘,速度也可以。對於不願意寫代碼,又有網絡抓取需求的朋友來說,Power Query也算是一種選擇吧。