看股票的网站(Power)

Power Query 获取个股K线数据前面我们讲过东方财富网获取全部实时股票数据,今天来做一个个股的K线数据获取。获取个股数据首先要有股票代码,然后根据代码来获取,这个和我们浏览网页的顺序差不多,比如我们先找民航机场板块:然后进到白云机场个股:然后放大K线到全屏:我们抓取数据也要按照这个过程来做网站分析。网站分析板块页面的分析:民航机场板块共有13条数据,我们筛选jquery之后找一下对应的数据,然后找到对应的真实URL:我们只要股票代码和名称,所以这个过程应该比较简单。接下来看个股K线全屏的页面,检查中筛选kl:K线数据肯定比较多,通常都有几千行,也要找到真实的URL:这个URL我们要来分析一下:后面的一大串字符,格式化显示应该是这样的Fields1、2都是数据的名称,也就是我们抓取的数据的列名称,这个我们用别的方法来找,先不管他,beg、end是开始与结束时间,估计这个20500101就对应昨天,开始都默认是0。最关键的是secid这个是股票代码,我们要抓取个股数据,就要修改这个值,这个值有两部分组成小数点分割,前面的1代表沪市,如果是0代表深市,后面就是白云机场的股票代码。接下来说数据的名称如何对应:K线图中有这样一个数据块,里面的汉字部分就对应了我们抓取的数据的列名称,我们来找这个数据块在源码中的位置:找到这个popfloatwin浮动窗口,复制这个element:到Power Query中建立空白查询,粘贴复制的内容:是不是看着头晕,没关系,找到分析,选xml:会自动解析:展开后备用。抓取数据首先抓取民航机场板块的股票名称和代码:先去复制真实的URL,然后从web获取数据:这里要直接在公式栏里输入三个函数来解析jsoncallback:Json.Document(Text.BetweenDelimiters(Text.FromBinary(Web.Contents(真实URL)),"(",")"))然后就是展开,我们不需要其他的内容,只要股票名称和代码:这个查询放这里备用。然后是个股K线数据抓取:同样的直接复制对应的真实URL,然后抓取,方法与上面的方法一致:然后展开,整理下格式,至于数据的表头,我们可以在抓取全部数据后统一更改。我们用这个查询创建一个函数:主要就是修改这个secid=号后面的内容,这里涉及到沪深两市的数据抓取,直接判断id的第一个符来修改小数点前面的部分,也可以,但是我比较懒,我就把这个函数直接复制一份,做一个0.的函数,然后在调用函数的时候用try..otherwise试着用第一个函数如果出错就用第二个函数,这样就保证两市数据都能抓出来了。我们回到板块抓取的查询,新建列调用这两个函数:然后展开数据:前面三列我们自己手动修改一下,后面的用准备好的名称来修改:先整理一下名称,Column1.2开始修改:然后把原来的列名称对应上:调整一下位置:然后我们到展开的查询中使用Table.ToRows函数把上面这个表转换成列表,替换列名称:最后修改一下数据类型数据就可以加载了。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/32340.html