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,直连正常
71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding:utf-8 -*-
|
|
"""
|
|
Date: 2024/3/16 9:00
|
|
Desc:中国银行间市场交易商协会(https://www.nafmii.org.cn/)
|
|
孔雀开屏(http://zhuce.nafmii.org.cn/fans/publicQuery/manager)的债券基本信息数据
|
|
"""
|
|
|
|
import pandas as pd
|
|
import requests
|
|
|
|
|
|
def bond_debt_nafmii(page: str = "1") -> pd.DataFrame:
|
|
"""
|
|
中国银行间市场交易商协会-非金融企业债务融资工具注册信息系统
|
|
http://zhuce.nafmii.org.cn/fans/publicQuery/manager
|
|
:param page: 输入数字页码
|
|
:type page: int
|
|
:return: 指定 sector 和 indicator 的数据
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
url = "http://zhuce.nafmii.org.cn/fans/publicQuery/releFileProjDataGrid"
|
|
payload = {
|
|
"regFileName": "",
|
|
"itemType": "",
|
|
"startTime": "",
|
|
"endTime": "",
|
|
"entityName": "",
|
|
"leadManager": "",
|
|
"regPrdtType": "",
|
|
"page": page,
|
|
"rows": 50,
|
|
}
|
|
payload.update({"page": page})
|
|
r = requests.post(url, data=payload)
|
|
data_json = r.json() # 数据类型为 json 格式
|
|
temp_df = pd.DataFrame(data_json["rows"])
|
|
temp_df.rename(
|
|
columns={
|
|
"firstIssueAmount": "金额",
|
|
"isReg": "注册或备案",
|
|
"regFileName": "债券名称",
|
|
"regNoticeNo": "注册通知书文号",
|
|
"regPrdtType": "品种",
|
|
"releaseTime": "更新日期",
|
|
"projPhase": "项目状态",
|
|
},
|
|
inplace=True,
|
|
)
|
|
if "注册通知书文号" not in temp_df.columns:
|
|
temp_df["注册通知书文号"] = pd.NA
|
|
temp_df = temp_df[
|
|
[
|
|
"债券名称",
|
|
"品种",
|
|
"注册或备案",
|
|
"金额",
|
|
"注册通知书文号",
|
|
"更新日期",
|
|
"项目状态",
|
|
]
|
|
]
|
|
temp_df["金额"] = pd.to_numeric(temp_df["金额"], errors="coerce")
|
|
temp_df["更新日期"] = pd.to_datetime(temp_df["更新日期"], errors="coerce").dt.date
|
|
return temp_df
|
|
|
|
|
|
if __name__ == "__main__":
|
|
bond_debt_nafmii_df = bond_debt_nafmii(page="1")
|
|
print(bond_debt_nafmii_df)
|