Power Query 抓取东方财富龙虎榜数据

龙虎榜数据其实是很容易抓取的,首先我们要找到正确的数据页面:

Power Query 抓取东方财富龙虎榜数据

找到这个页面,就可以开始网站分析了。

网站分析

在谷歌浏览器中打开页面后,开启“检查”,然后下面图片中的标签栏我们每个都按一下:

Power Query 抓取东方财富龙虎榜数据

然后在filter中输入pagesize,筛选出这些页面,我这个多按了几次,正常应该是八个,每个标签对应一行:

Power Query 抓取东方财富龙虎榜数据

我们查看每个页面的真实网址发现,这个位置的单词对应着我们要查询的标签,也就是有八个单词,分别对应了八个标签:

Power Query 抓取东方财富龙虎榜数据

然后就是常规的一些变量:

通过上面的分析,我们可以设想写出一个函数,通过改变关键字,页码,日期等参数,来查询对应的龙虎榜数据。

其实,这也算一个API调用,我们再来看数据预览:

Power Query 抓取东方财富龙虎榜数据

下面这一行才是真正数据调用的网址,我试着抓取了一下:

Power Query 抓取东方财富龙虎榜数据

展开后是这样的数据结构,用“|”分割的一个数据列表,没有表头,不是我们喜欢的数据样式。

我们还是看看能不能抓取带有表头的数据表,毕竟有好多列,一个一个的去添加表头,不是我们这种懒人愿意干的事情。

试抓

我们用下面这个网址来试抓:

Power Query 抓取东方财富龙虎榜数据

展开后得到一个表格:

Power Query 抓取东方财富龙虎榜数据

根据这个过程,我们原来的想法要改变一下,因为不同的标签对应的表格的列数不同,所以我们不可能用一个通用的函数来抓取全部八种表格,其实是七种,最后一个是营业部查询。我们也只是需要定义7个函数来分别抓取就可以了。

当然,如果硬是要一个函数实现也不是不可能,只不过要写七个分支,来分别处理七种表格。

定义函数

我们还是采取分别定义函数的方式,这里我就举一个例子,定义抓取龙虎榜详情的一个函数:

Power Query 抓取东方财富龙虎榜数据

我日添加了三个参数,如果需要你可以把页码也添加进来。

如果你要定义其他标签对应的函数,需要复制标签对应的网址,然后修改参数。

抓取

然后我们做一个测试,抓取2020-10-1到2020-10-27,1000行的数据:

Power Query 抓取东方财富龙虎榜数据

需要稍等几秒钟,就可以了。


如果是数据有很多页,可以把页码也添加进来,然后用页码来抓取,我修改一下函数:

Power Query 抓取东方财富龙虎榜数据

其实2020-10-1到2020-10-27一共只有600多行的数据,那么我们换一种方式,每页100,抓取7页:

Power Query 抓取东方财富龙虎榜数据

展开得到665行数据:

Power Query 抓取东方财富龙虎榜数据

最后提醒大家一下,我上面两个函数的是为了方便大家看,为了截图才做的断行,实际是不能有断行回车的,如果添加了回车符,查询就会出错。


Power Query 抓取东方财富龙虎榜数据

展开阅读全文

页面更新:2024-05-17

标签:龙虎榜   营业部   表头   数据   页码   单词   函数   表格   定义   参数   日期   标签   页面   财富   方式   网址   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top