Hello,大家好,今天跟大家分享下我們如何批量的抓取網頁中的數據,以抓取汽車投訴量跟大家分享下如何批量抓取網頁中的數據,這也是一個粉絲問道的問題,他準備買車想看下各個廠家的投訴量如何。話不多說,我們直接開始吧。如果你是進來了解各廠家的投訴量以及投訴的車型排名的,直接拉到最後即可
一、分析網頁
我們以抓取車質網的汽車投訴為例跟大家演示下如何批量抓取數據,如下圖,分別是第一頁到第三頁的網址,我們可能看到這三頁的網址,僅僅只有標紅的123也就是對應的頁碼是不一樣的,其餘的都是一樣的
二、抓取數據
緊接著我們打開excel,然後點擊數據功能組找到自網站,我們點擊高級選項然後將代表頁碼的數字單獨放置在一個輸入框內,可以通過點擊添加部件來添加輸入框,當設置完畢後我們直接點擊確定
這樣的話我們就進入導航器的界面,在這個網頁中power query一共抓取到了兩個內容,我們可以點擊看下具體哪個是我們需要的數據,在這裡table0就是我們想要抓取的數據,直接選擇table0這個選項然後點擊轉換數據即可,這樣的話我們就進入了powerquery的編輯界面
緊接著我們點擊高級編輯器在let前面輸入(x as number) as table =>然後將網址中的「1」更改為(Number.ToText(x))直接點擊完成即可
這樣的話我們就將我們前面的操作封裝成了一個函數,我們只需輸入對應的數字,然後點擊調用就會跳到對應頁碼的數據
緊接著我們點擊左邊的一個空白的區域,點擊滑鼠右鍵選擇新建查詢,在其中找到其他源然後選擇空查詢,接著我們在編輯欄中輸入={1.100}點擊回車,這樣的話我們就得到一個1到100的 序列,然後點擊到表,將查詢轉換為表,直接點擊確定即可
緊接著選擇添加列,然後找到自定義函數在功能查詢中選擇table0,直接點擊確定即可,這樣話power query就會開始抓取數據,在這裡我們抓取的100頁的網頁數據,這個過程可能會比較漫長,在這裡我大概耗時3分鐘,抓取完成後每個序列的後面都會得到一個table我們點擊左右反向的箭頭來擴展數據,將使用原始列名前面的對勾去掉,然點擊確定,將我們添加的序列刪除,這樣的話就完成了,我們只需在開始中選擇關閉並上載至即可將數據加載進Excel中,因為數據比較多,這個過程也會耗費比較多的時間,在這裡我耗時大概1分鐘
當數據加載進Excel中我們就可以通過數據透視表來的快速的分析數據,如下圖是根據在車質網的投訴記錄中抓取到的3000條數據然後通過數據透視表得到了投訴品牌以及投訴車系的排名,在這裡3000條數據將近1個月的投訴量
以上就是我們批量抓取100頁網頁數據的方法以及各廠家的投訴排名,整個過程做起來耗時大概在7分鐘左右,大部分時間都花費在數據的抓取與加載中。
怎麼樣?你學會了嗎?趕快動手試試把
我是Excel從零到一,關注我持續分享更多Excel技巧