Power Query 获取个股K线数据
前面我们讲过东方财富获取悉数实股数据excel股价数据,今天来做一个个股的K线数据获取。
获取个股数据首要要有股代,然后根据代来获取,这个和我们阅读页的次序差不多,比方我们先找民航机场板块excel股价数据:
然后进到白云机场个股:
然后扩大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),))然后就是展,我们不需要其他的内容,只需股名称和代:
这个查询放这里备用。
然后是个股K线数据抓取:
同样的直接仿制对应的实在URL,然后抓取,与上面的一致:
然后展,整理下格局,至于数据的表头,我们能够在抓取悉数数据后统一更改。
我们用这个查询创建一个函数:
主要就是修正这个secid=后面的内容,这里触及到沪深两市的数据抓取,直接判别id的第一个符来修正小数点前面的部,也能够,但是我比较懒,我就把这个函数直接仿制一份,做一个0.的函数,然后在调用函数的候用try..otherwise试着用第一个函数假如犯错就用第二个函数,这样就确保两市数据都能抓出来了。
我们回到板块抓取的查询,新建列调用这两个函数:
然后展数据:
前面三列我们自己手动修正一下,后面的用准备好的名称来修正:
先整理