fa45d8aa5f
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
Privoxy对node122:18003返回500,直连正常
70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding:utf-8 -*-
|
|
"""
|
|
Date: 2026/1/20 15:00
|
|
Desc: 深圳证券交易所-ETF基金份额数据
|
|
https://fund.szse.cn/marketdata/fundslist/index.html
|
|
"""
|
|
|
|
import warnings
|
|
|
|
import pandas as pd
|
|
import requests
|
|
|
|
|
|
def fund_etf_scale_szse() -> pd.DataFrame:
|
|
"""
|
|
深圳证券交易所-基金产品-基金列表-ETF基金份额
|
|
https://fund.szse.cn/marketdata/fundslist/index.html
|
|
:return: ETF基金份额数据
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
url = "https://fund.szse.cn/api/report/ShowReport"
|
|
params = {
|
|
"SHOWTYPE": "xlsx",
|
|
"CATALOGID": "1000_lf",
|
|
"TABKEY": "tab1",
|
|
"random": "0.07610353191740105",
|
|
}
|
|
headers = {
|
|
"Referer": "https://fund.szse.cn/marketdata/fundslist/index.html",
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
"Chrome/88.0.4324.150 Safari/537.36",
|
|
}
|
|
r = requests.get(url, params=params, headers=headers)
|
|
with warnings.catch_warnings(record=True):
|
|
warnings.simplefilter("always")
|
|
temp_df = pd.read_excel(r.content, engine="openpyxl", dtype={"基金代码": str})
|
|
temp_df.rename(
|
|
columns={
|
|
"当前规模(份)": "基金份额",
|
|
},
|
|
inplace=True,
|
|
)
|
|
temp_df = temp_df[
|
|
[
|
|
"基金代码",
|
|
"基金简称",
|
|
"基金类别",
|
|
"投资类别",
|
|
"上市日期",
|
|
"基金份额",
|
|
"基金管理人",
|
|
"基金发起人",
|
|
"基金托管人",
|
|
"净值",
|
|
]
|
|
]
|
|
temp_df["上市日期"] = pd.to_datetime(temp_df["上市日期"], errors="coerce").dt.date
|
|
temp_df["基金份额"] = (
|
|
temp_df["基金份额"].astype(str).str.replace(",", "", regex=False)
|
|
)
|
|
temp_df["基金份额"] = pd.to_numeric(temp_df["基金份额"], errors="coerce")
|
|
temp_df["净值"] = pd.to_numeric(temp_df["净值"], errors="coerce")
|
|
return temp_df
|
|
|
|
|
|
if __name__ == "__main__":
|
|
fund_etf_scale_szse_df = fund_etf_scale_szse()
|
|
print(fund_etf_scale_szse_df)
|