用 Power Query 批量收集網站數據
Excel之家 · 科技 ·

用 Power Query 批量收集網站數據

在大數據時代,除了企業、公司和個人,網際網路也是一個非常重要的數據來源。隨著信息化社會的快速發展,網際網路中可以獲取的數據也越來越多,並且多數網站所提供的數據並非一兩個頁面所能容納的,如股票行情數據,由於上市交易的股票數量眾多,所以網站提供的數據通常都會有幾十個網頁,甚至更多。

雖然通過【數據】選項卡的【從網站】功能可以獲取單個網頁中的數據,但是這樣的操作顯然無法勝任收集大量網頁數據的任務。批量收集網站數據,又被稱為網絡數據抓取,有時也被簡稱為「網抓」。用於網抓的工具或軟體通常被稱為網絡爬蟲(Web Crawler)。

以某網站的「個股市盈率」網頁為例,如圖 2-139 所示,每個頁面中有 50 行數據,共有 64 個網頁。讓我們使用Power Query的方式實現抓取前 5 個網頁的數據。

Web】對話框的【URL】文本框中輸入這一地址內容再進行下一步操作:「

圖 2-139 個股市盈率網頁


步驟 1

單擊【數據】選項卡的【自網站】按鈕,在彈出的【從 Web】對話框的【URL】文本框中輸入這一地址內容再進行下一步操作:「http://data.10jqka.com.cn/market/ggsyl/fifield/syl/order/desc/page/1」單擊【確定】按鈕關閉【從 Web】對話框,如圖 2-140 所示。

步驟1單擊【數據】選項卡的【自網站】按鈕,在彈出的【從

圖 2-140 在【從 Web】對話框中輸入 URL82


步驟 2

Excel 查詢數據之後,將彈出【導航器】對話框,在對話框左側單擊【Table 0】,在對話框右側的【表視圖】中將顯示相應的數據內容,單擊【轉換數據】按鈕,如圖 2-141 所示。

的數據。圖2-139個股市盈率網頁

圖 2-141 在【導航器】對話框中選擇表格


步驟 3

在彈出的【Table 0 – Power Query 編輯器】窗口中,單擊【開始】選項卡的【高級編輯器】按鈕,在彈出的【高級編輯器】對話框中修改公式(區分字母大小寫),單擊【完成】按鈕關閉對話框,如圖 2-142 所示。

4個網頁。讓我們使用PowerQuery的方式實現抓取前5個網頁

圖 2-142 修改 Power Query 公式


步驟 4

在【查詢設置】窗格的【名稱】文本框輸入「GetWebPage」修改查詢名稱,單擊【開始】選項卡的【關閉並上載】按鈕關閉編輯器窗口,如圖 2-143 所示。

」網頁為例,如圖2-139所示,每個頁面中有50行數據,共有6

圖 2-143 修改查詢名稱並上載


步驟 5

在 Excel 的【查詢 & 連接】窗格中查詢名稱「GetWebPage」之前顯示「fx」標識,說明這是一個自定義函數。依次單擊【數據】選項卡→【獲取數據】下拉按鈕→【自其他源】→【空白查詢】命令,如圖 2-144 所示。

稱為網絡爬蟲(WebCrawler)。以某網站的「個股市盈率

圖 2-144 新建空白查詢


步驟 6

在彈出的【查詢 1 – Power Query 編輯器】窗口的公式欄中輸入「={1..5}」,按< Enter > 鍵完成輸入,在編輯器將新建一個列表,包含 1 到 5 的數字。


步驟 7

依次單擊【轉換】選項卡→【到表】按鈕,在彈出的【到表】對話框中保持默認設置,單擊【確定】按鈕關閉對話框,如圖 2-145 所示。

又被稱為網絡數據抓取,有時也被簡稱為「網抓」。用於網抓的工具或軟體通常被

圖 2-145 列表數據轉換


步驟 8

在【查詢 1 – Power Query 編輯器】窗口中單擊【添加列】選項卡的【調用自定義函數】按鈕,在彈出的【調用自定義函數】對話框中調整設置,在【新列名】文本框中輸入「Web」作為名稱,在【功能查詢】組合框中選中「GetWebPage」,在【PageIndex】標籤之下右側組合框中選中「Column1」,單擊【確定】按鈕關閉對話框,如圖 2-146 所示。

據,但是這樣的操作顯然無法勝任收集大量網頁數據的任務。批量收集網站數據,

圖2-146 設置調用自定義函數


步驟 9

此時將彈出黃色的數據隱私提示欄,單擊【繼續】按鈕,在彈出的【隱私級別】對話框中,選中【忽略此文件的隱私級別檢查。忽略隱私級別可能會向未經授權的用戶公開敏感數據或機密數據。】複選框,單擊【保存】按鈕關閉對話框,如圖 2-147 所示。

雖然通過【數據】選項卡的【從網站】功能可以獲取單個網頁中的數

圖 2-147 忽略隱私級別檢查


步驟 10

單擊「Web」列標題右側的展開按鈕,在彈出的對話框中取消選中【使用原始列名作為前綴】複選框,單擊【確定】按鈕展開「Web」列,如圖 2-148 所示。

市交易的股票數量眾多,所以網站提供的數據通常都會有幾十個網頁,甚至更多。

圖 2-148 展開「Web」列


步驟 11

在【查詢 1 – Power Query 編輯器】窗口中依次單擊【開始】選項卡→【關閉並上載】下拉按鈕→【關閉並上載至 ...】命令,在彈出的【導入數據】對話框中選中【表】單選按鈕,保持默認選中的【新工作表】單選按鈕,單擊【確定】按鈕關閉對話框,如圖 2-149 所示。

並且多數網站所提供的數據並非一兩個頁面所能容納的,如股票行情數據,由於上

圖2-149 關閉並上載至工作表

批量採集的網站數據將上載到 Excel 新建工作表中,共有 250 行數據(5x50/ 頁),如圖 2-150 所示。

如果【查詢 & 連接】任務窗格中顯示「已加載 250 行。N 個錯誤」,錯誤的原因可能是部分指標數據未從網站上成功獲取(比如該指標在網站上為空)。

數據來源。隨著信息化社會的快速發展,網際網路中可以獲取的數據也越來越多,

圖 2-150 上載到工作表中的數據

還想要學習其他數據處理與分析的技巧嗎?快來看看應用大全吧!

在大數據時代,除了企業、公司和個人,網際網路也是一個非常重要的
聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯
繼續其他精彩內容吧!
more