加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
eastmoney-hq.py 1.82 KB
一键复制 编辑 原始数据 按行查看 历史
高强 提交于 2022-03-17 10:48 . First draft finished
# Author: 高强 Qiang Gao (mutecamel@gmail.com)
import json
import datetime
from pathlib import Path
import requests
import pandas as pd
# 东方财富网的行情接口网址
url = "http://40.push2.eastmoney.com/api/qt/clist/get"
# 请求板块代码 - 沪深A股
fs = "m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23"
# 请求字段代码
fields = {
"f2": "最新价(元)", # /100 -> 元
"f3": "涨跌幅(%)", # /100 -> %
"f4": "涨跌额(元)", # /100 -> 元
"f5": "成交量(手)", # 手
"f6": "成交额(元)", # 元
"f7": "振幅(%)", # /100 -> %
"f8": "换手率(%)", # /100 -> %
"f9": "动态市盈率(倍)", # /100 -> 倍
"f10": "量比(倍)", # /100 -> 倍
"f12": "证券代码",
"f13": "市场代码",
"f14": "证券简称",
"f15": "最高价(元)", # /100 -> 元
"f16": "最低价(元)", # /100 -> 元
"f17": "开盘价(元)", # /100 -> 元
"f18": "昨收盘价(元)", # /100 -> 元
"f20": "总市值(元)", # 元
"f21": "流通市值(元)", # 元
"f23": "市净率(倍)", # /100 -> 倍
"f24": "涨跌幅最近60日(%)", # /100 -> %
"f25": "涨跌幅年初至今(%)", # /100 -> %
}
# 为请求行情数据准备参数
params = {
"fs": fs,
"fields": ",".join(fields),
"pn": 1, # 请求起始页码
"pz": 10_000, # 请求每页条目数
}
dt = datetime.datetime.now() # 发送请求的时间
resp = requests.get(url, params=params) # 发送请求,获取响应
data = json.loads(resp.text) # 将响应文本转换为内置数据结构
df = pd.DataFrame(data["data"]["diff"].values())
for col in "f2 f3 f4 f7 f8 f9 f10 f15 f16 f17 f18 f23 f24 f25".split():
df[col] /= 100
df = df.rename(columns=fields)
df.to_excel(f"data/eastmoney-hq-{dt:%Y%m%d}-{dt:%H%M%S}.xlsx", index=False)
Path("done").write_text(str(dt))
print("Job done.")
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化