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

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

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

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

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

哪些產品賣得好:

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

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

網址分析

  1. 打開愛淘寶網站,輸入關鍵字得到搜索結果
  2. 網頁上右鍵,檢查
  3. 然後點選幾個頁面的數字
Power Query網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

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

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

  • page=4
  • key=Excel

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

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

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

自定義抓取函數

  1. 數據>從網站
  2. 輸入我們找到的實際網址URL
  3. 修改成我們想要的函數
Power Query網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

這個函數有兩個參數:

  • page:要抓取的頁碼
  • key:搜索關鍵字
Power Query網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

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

嘗試抓取

  1. 建一個列表1-100,轉換到表,並且轉換為文本格式
  2. 自定義列,調用自定義函數
Power Query網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

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

轉換數據

  1. 展開記錄
  2. 刪除不需要的列
  3. 替換格式碼
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網絡抓取實例:愛淘寶網站關鍵字搜索結果抓取

最後總結一下:

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


分享到:


相關文章: