python 发送http请求获取行情数据实例
所属分类 python
浏览量 5
python get_cvs_data.py 510300
python get_cvs_data.py 510300 --startDate 2025-01-01
python get_cvs_data.py 510300 > 510300.csv
python get_cvs_data.py 510300 --startDate 2025-01-01 > 510300_2025.csv
第一个参数为 股票或ETF代码
startDate 开始日期 可选 , 为空则返回全部数据
get_cvs_data.py 完整代码
import argparse
import hashlib
import time
import requests
def generate_key(ts, secret_key):
"""
生成 MD5 签名
:param ts: 时间戳(毫秒)
:param secret_key: 密钥(需自行配置)
:return: MD5 签名
"""
raw_string = f"{ts}_{secret_key}"
md5_hash = hashlib.md5(raw_string.encode('utf-8')).hexdigest()
return md5_hash
def send_request(code, start_date):
"""
发送 HTTP 请求
:param code: 股票代码
:param start_date: 起始日期 2025-01-12
"""
secret_key = "your_secret_key" # 替换为实际密钥
ts = int(time.time() * 1000) # 当前时间戳(毫秒)
key = generate_key(ts, secret_key)
url = (
f"http://localhost:8089/fintech/csv.jsp"
f"?code={code}"
f"&startDate={start_date}"
f"&ts={ts}"
f"&key={key}"
)
try:
response = requests.get(url)
# print("请求状态码:", response.status_code)
# print("响应内容:", response.text)
print(response.text)
except requests.exceptions.RequestException as e:
print("请求失败:", e)
if __name__ == "__main__":
# 解析命令行参数
parser = argparse.ArgumentParser(description="发送 HTTP 请求")
parser.add_argument("code", type=str, help="股票代码(如 sh510300)")
# parser.add_argument("startDate", type=str, help="起始日期(如 2023-01-01)")
parser.add_argument(
"--startDate",
type=str,
default="",
help="起始日期(如 2023-01-01),可选,默认为空"
)
args = parser.parse_args()
# 发送请求
send_request(args.code, args.startDate)
上一篇
springboot Maven 多环境构建 profile
springboot环境变量替换配置文件值
葛兰威尔均线八大法则