PowerQuery抓取東方財富龍虎榜數據

龍虎榜數據其實是很容易抓取的,首先我們要找到正確的數據頁面:

PowerQuery抓取東方財富龍虎榜數據

找到這個頁面,就可以開始網站分析了。

在谷歌瀏覽器中打開頁面後,開啓“檢查”,然後下面圖片中的標籤欄我們每個都按一下:

PowerQuery抓取東方財富龍虎榜數據

然後在filter中輸入pagesize,篩選出這些頁面,我這個多按了幾次,正常應該是八個,每個標籤對應一行:

PowerQuery抓取東方財富龍虎榜數據

我們查看每個頁面的真實網址發現,這個位置的單詞對應着我們要查詢的標籤,也就是有八個單詞,分別對應了八個標籤:

PowerQuery抓取東方財富龍虎榜數據

然後就是常規的一些變量:

通過上面的分析,我們可以設想寫出一個函數,通過改變關鍵字,頁碼,日期等參數,來查詢對應的龍虎榜數據。

其實,這也算一個API調用,我們再來看數據預覽:

PowerQuery抓取東方財富龍虎榜數據

下面這一行才是真正數據調用的網址,我試着抓取了一下:

PowerQuery抓取東方財富龍虎榜數據

展開後是這樣的數據結構,用“|”分割的一個數據列表,沒有表頭,不是我們喜歡的數據樣式。

我們還是看看能不能抓取帶有表頭的數據表,畢竟有好多列,一個一個的去添加表頭,不是我們這種懶人願意幹的事情。

我們用下面這個網址來試抓:

PowerQuery抓取東方財富龍虎榜數據

展開後得到一個表格:

PowerQuery抓取東方財富龍虎榜數據

根據這個過程,我們原來的想法要改變一下,因為不同的標籤對應的表格的列數不同,所以我們不可能用一個通用的函數來抓取全部八種表格,其實是七種,最後一個是營業部查詢。我們也只是需要定義7個函數來分別抓取就可以了。

當然,如果硬是要一個函數實現也不是不可能,只不過要寫七個分支,來分別處理七種表格。

我們還是採取分別定義函數的方式,這裏我就舉一個例子,定義抓取龍虎榜詳情的一個函數:

PowerQuery抓取東方財富龍虎榜數據

我日添加了三個參數,如果需要你可以把頁碼也添加進來。

如果你要定義其他標籤對應的函數,需要複製標籤對應的網址,然後修改參數。

然後我們做一個測試,抓取2020-10-1到2020-10-27,1000行的數據:

PowerQuery抓取東方財富龍虎榜數據

需要稍等幾秒鐘,就可以了。

如果是數據有很多頁,可以把頁碼也添加進來,然後用頁碼來抓取,我修改一下函數:

PowerQuery抓取東方財富龍虎榜數據

其實2020-10-1到2020-10-27一共只有600多行的數據,那麼我們換一種方式,每頁100,抓取7頁:

PowerQuery抓取東方財富龍虎榜數據

展開得到665行數據:

PowerQuery抓取東方財富龍虎榜數據

最後提醒大家一下,我上面兩個函數的是為了方便大家看,為了截圖才做的斷行,實際是不能有斷行回車的,如果添加了回車符,查詢就會出錯。

PowerQuery抓取東方財富龍虎榜數據

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 898 字。

轉載請註明: PowerQuery抓取東方財富龍虎榜數據 - 楠木軒