如果你到愛淘寶上搜索一個關鍵詞,就會出來很多結果,任意一個關鍵詞對應的至少也有幾十頁的內容:
如果你要把所有這些頁面的數據抓取下來做分析,看看銷售金額,看看哪些店鋪銷售的好:
哪些產品賣得好:
接下來,我們就來做這個網站數據的抓取。
網址分析
- 打開愛淘寶網站,輸入關鍵字得到搜索結果
- 網頁上右鍵,檢查
- 然後點選幾個頁面的數字
網址分析的過程就是一個找規律的過程:
我們點選頁碼時會有對應的網址URL,我們要觀察這個網址的變化規律,其中我們注意到兩點:
- page=4
- key=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也算是一種選擇吧。
閱讀更多 EXCEL數據處理與分析 的文章