获取东方财富网股票的实时数据,所有股票的数据
需要安装python通过访问东方财富网的连接:http://82.push2.eastmoney.com/api/qt/clist/get
可以运行python文件获取:【序号,代码,名称,最新价,涨跌幅,涨跌额,成交量,成交额,振幅,最高,最低,今开,昨收,量比,换手率,市盈率-动态,市净率,总市值,流通市值,涨速,5分钟涨跌,60日涨跌幅,年初至今涨跌幅,】
如果你正好在关注股票也需要实时信息,可以直接运行程序即可,可以将数据下载到本地文件夹下。
如有问题欢迎留言评论
如果觉得有用,还请动动发财小手给个评分,谢谢
import pandas as pd
import requests
from datetimeimport datetime
import time
import numpy as np
# from crazy import *
# dataframe_completely_display(100,100)
def stock_zh_a_spot_em() -> pd.DataFrame:
"""
东方财富网-沪深京 A 股-实时行情
https://quote.eastmoney.com/center/gridlist.html#hs_a_board
:return: 实时行情
:rtype: pandas.DataFrame
"""
url = "http://82.push2.eastmoney.com/api/qt/clist/get"
params = {
"pn": "1",
"pz": "50000",
"po": "1",
"np": "1",
"ut": "bd1d9ddb04089700cf9c27f6f7426281",
"fltt": "2",
"invt": "2",
"fid": "f3",
"fs": "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048",
"fields": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
"_": "1623833739532",
}
r = requests.get(url, params=params)
data_json = r.json()
if not data_json["data"]["diff"]:
return pd.DataFrame()
temp_df = pd.DataFrame(data_json["data"]["diff"])
temp_df.columns = [
"_",
"最新价",
"涨跌幅",
"涨跌额",
"成交量",
"成交额",
"振幅",
"换手率",
"市盈率-动态",
"量比",
"5分钟涨跌",
"代码",
"_",
"名称",
"最高",
"最低",
"今开",
"昨收",
"总市值",
"流通市值",
"涨速",
"市净率",
"60日涨跌幅",
"年初至今涨跌幅",
"-",
"-",
"-",
"-",
"-",
"-",
"-",
]
temp_df.reset_index(inplace=True)
temp_df["index"] = temp_df.index + 1
temp_df.rename(columns={"index": "序号"}, inplace=True)
temp_df = temp_df[
[
"序号",
"代码",
"名称",
"最新价",
"涨跌幅",
"涨跌额",
"成交量",
"成交额",
"振幅",
"最高",
"最低",
"今开",
"昨收",
"量比",
"换手率",
"市盈率-动态",
"市净率",
"总市值",
"流通市值",
"涨速",
"5分钟涨跌",
"60日涨跌幅",
"年初至今涨跌幅",
]
]
temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
temp_df["昨收"] = pd.to_numeric(temp_df["昨收"], errors="coerce")
temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
temp_df["市盈率-动态"] = pd.to_numeric(temp_df["市盈率-动态"], errors="coerce")
temp_df["市净率"] = pd.to_numeric(temp_df["市净率"], errors="coerce")
temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
temp_df["流通市值"] = pd.to_numeric(temp_df["流通市值"], errors="coerce")
temp_df["涨速"] = pd.to_numeric(temp_df["涨速"], errors="coerce")
temp_df["5分钟涨跌"] = pd.to_numeric(temp_df["5分钟涨跌"], errors="coerce")
temp_df["60日涨跌幅"] = pd.to_numeric(temp_df["60日涨跌幅"], errors="coerce")
temp_df["年初至今涨跌幅"] = pd.to_numeric(temp_df["年初至今涨跌幅"], errors="coerce")
return temp_df
def update_array(arr, value):
"""
序列迭代更新,随着一个一个新的数据插入到最后面,前面第一个就给删掉,依次迭代
"""
arr[:-1] = arr
arr[-1] = value
return arr
df = stock_zh_a_spot_em()
yest_price = dict(zip(df['代码'], df['昨收']))
print(df)
label = str(int(time.time()))
df.to_excel(f'data01-{label}.xlsx',index=False)
一直在炒股,这个对我有用 在外DE孩子 发表于 2024-6-6 08:30
你说的成品是直接有界面的还是?这个运行出来也是可以的啊,直接写入excel
界面倒没有,就是只有几个函数,扩展性的工作也没有做。{:1_890:}
课上基本没教啥,就是布置了点内容,代码里有很多都是问了AI才知道该咋办的:rggrg 太泛滥会不会像新浪一样,直接堵了 请问一下这个接口有速率限制吗 能集成到炒股软件里就更好了 StockGeek 发表于 2024-5-30 22:54
太泛滥会不会像新浪一样,直接堵了
新浪堵了吗,我偶尔还在用 感谢楼主提供爬取数据程序 看来神车可以换了 很厉害呀,要是多一些注释就好了。 StockGeek 发表于 2024-5-30 22:54
太泛滥会不会像新浪一样,直接堵了
应该不会吧,现在还可以用,堵了来找我,哈哈,方法都一样