好久没出去了,今天死皮赖脸跟着不熟悉的北漂人在奥森野炊,还玩了很多游戏。给平淡的生活增添了很多快乐。回来已是下午,我只想睡觉。now 我起来了,准备获取股票的板块信息。
因为每个平台都不一样,除了证交所定义的stock代码之外,每个平台都可以根据基础数据计算出符合平台用户口味的信息,板块也是一样的。所以我们在获取板块信息的时候只能专注于一个平台,这块我还是优先考虑我们大腾讯。
首先,我们用easyquotation获取股票数据的时候必然要传递一些股票代码,而且这个代码我们思索着也应该是通过http接口获取,所以这块我们看看easyquotation提供的方法update_stock_codes。通过查看源码,发现这个方法的背后直接请求了js
http://www.shdjt.com/js/lib/astock.js
这也就是所有股票code的代码数据,但是我们想着里边是否含有板块的code,因为js直接在浏览器中打开有点乱码,所以这块作者直接修改easyquotation源码,看看真相,如截图所示。
import easyquotation
quotation = easyquotation.use('tencent') # 新浪 ['sina'] 腾讯 ['tencent', 'qq']
b=quotation.real("sh000001") # 支持直接指定前缀,如 'sh000001'
t=easyquotation.update_stock_codes()
print(t)
print(len(t))
这块发现有507个板块,一直说360行,行行出状元。看来行业的分类是随着时代变化的。
我们的目标是将这些行业代码分类出来,然后做行业的伏击,最终的目的是快人一步。在行业中寻找潜力股。具体筛选行业代码的操作作者就直接基于easyquatation做了。
这块直接贴一下代码
import requests
import re
class Bankuan:
def update_bankuan(self):
response = requests.get("http://www.shdjt.com/js/lib/astock.js")
# 这块作者打印一下结果
print(response.text)
#lyBg~991002`土木工程.
t=response.text.index("dbBg~900957`凌云B股`")
txt=response.text[t+5:]
stock_codes = re.findall(r"~(.+?).板块", txt)
print("--------------------")
result=[]
for item in stock_codes:
temp=[]
kkk=item.split("`")
temp.append(kkk[0])
temp.append(kkk[1])
print(temp)
result.append(temp)
print(len(stock_codes))
Bankuan().update_bankuan()
最终股票板块的code算是筛选出来了,但是数字貌似少了一个。先不管了,等明天闲了看看。本次文章就到这里了,代码写的不太好,出了问题再改吧~
美丽的春天来了,大家多出去走走,心情愉快,daydayup!