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,直连正常
102 lines
3.3 KiB
Python
102 lines
3.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding:utf-8 -*-
|
|
"""
|
|
Date: 2023/5/18 17:10
|
|
Desc: 中国柯桥纺织指数
|
|
http://www.kqindex.cn/flzs/jiage
|
|
"""
|
|
|
|
import pandas as pd
|
|
import requests
|
|
from tqdm import tqdm
|
|
|
|
|
|
def index_kq_fz(symbol: str = "价格指数") -> pd.DataFrame:
|
|
"""
|
|
中国柯桥纺织指数
|
|
http://www.kqindex.cn/flzs/jiage
|
|
:param symbol: choice of {'价格指数', '景气指数', '外贸指数'}
|
|
:type symbol: str
|
|
:return: 中国柯桥纺织指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
symbol_map = {
|
|
"价格指数": "1_1",
|
|
"景气指数": "1_2",
|
|
"外贸指数": "2",
|
|
}
|
|
url = "http://www.kqindex.cn/flzs/table_data"
|
|
params = {
|
|
"category": "0",
|
|
"start": "",
|
|
"end": "",
|
|
"indexType": f"{symbol_map[symbol]}",
|
|
"pageindex": "1",
|
|
}
|
|
r = requests.get(url, params=params)
|
|
data_json = r.json()
|
|
page_num = data_json["page"]
|
|
big_df = pd.DataFrame()
|
|
for page in tqdm(range(1, page_num + 1), leave=False):
|
|
params = {
|
|
"category": "0",
|
|
"start": "",
|
|
"end": "",
|
|
"indexType": f"{symbol_map[symbol]}",
|
|
"pageindex": page,
|
|
}
|
|
r = requests.get(url, params=params)
|
|
data_json = r.json()
|
|
temp_df = pd.DataFrame(data_json["result"])
|
|
big_df = pd.concat([big_df, temp_df], ignore_index=True)
|
|
if symbol == "价格指数":
|
|
big_df.columns = [
|
|
"期次",
|
|
"指数",
|
|
"涨跌幅",
|
|
]
|
|
big_df["期次"] = pd.to_datetime(big_df["期次"])
|
|
big_df["指数"] = pd.to_numeric(big_df["指数"], errors="coerce")
|
|
big_df["涨跌幅"] = pd.to_numeric(big_df["涨跌幅"], errors="coerce")
|
|
elif symbol == "景气指数":
|
|
big_df.columns = [
|
|
"期次",
|
|
"总景气指数",
|
|
"涨跌幅",
|
|
"流通景气指数",
|
|
"生产景气指数",
|
|
]
|
|
big_df["总景气指数"] = pd.to_numeric(big_df["总景气指数"], errors="coerce")
|
|
big_df["涨跌幅"] = pd.to_numeric(big_df["涨跌幅"], errors="coerce")
|
|
big_df["流通景气指数"] = pd.to_numeric(big_df["流通景气指数"], errors="coerce")
|
|
big_df["生产景气指数"] = pd.to_numeric(big_df["生产景气指数"], errors="coerce")
|
|
elif symbol == "外贸指数":
|
|
big_df.columns = [
|
|
"期次",
|
|
"价格指数",
|
|
"价格指数-涨跌幅",
|
|
"景气指数",
|
|
"景气指数-涨跌幅",
|
|
]
|
|
big_df["价格指数"] = pd.to_numeric(big_df["价格指数"], errors="coerce")
|
|
big_df["价格指数-涨跌幅"] = pd.to_numeric(
|
|
big_df["价格指数-涨跌幅"], errors="coerce"
|
|
)
|
|
big_df["景气指数"] = pd.to_numeric(big_df["景气指数"], errors="coerce")
|
|
big_df["景气指数-涨跌幅"] = pd.to_numeric(
|
|
big_df["景气指数-涨跌幅"], errors="coerce"
|
|
)
|
|
big_df.sort_values(["期次"], inplace=True, ignore_index=True)
|
|
return big_df
|
|
|
|
|
|
if __name__ == "__main__":
|
|
index_kq_fz_df = index_kq_fz(symbol="价格指数")
|
|
print(index_kq_fz_df)
|
|
|
|
index_kq_fz_df = index_kq_fz(symbol="景气指数")
|
|
print(index_kq_fz_df)
|
|
|
|
index_kq_fz_df = index_kq_fz(symbol="外贸指数")
|
|
print(index_kq_fz_df)
|