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,直连正常
133 lines
4.3 KiB
Python
133 lines
4.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding:utf-8 -*-
|
|
"""
|
|
Date: 2021/12/27 15:47
|
|
Desc: 中国公路物流运价、运量指数
|
|
http://index.0256.cn/expx.htm
|
|
"""
|
|
|
|
import pandas as pd
|
|
import requests
|
|
|
|
|
|
def index_price_cflp(symbol: str = "周指数") -> pd.DataFrame:
|
|
"""
|
|
中国公路物流运价指数
|
|
http://index.0256.cn/expx.htm
|
|
:param symbol: choice of {"周指数", "月指数", "季度指数", "年度指数"}
|
|
:type symbol: str
|
|
:return: 中国公路物流运价指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
symbol_map = {
|
|
"周指数": "2",
|
|
"月指数": "3",
|
|
"季度指数": "4",
|
|
"年度指数": "5",
|
|
}
|
|
url = "http://index.0256.cn/expcenter_trend.action"
|
|
params = {
|
|
"marketId": "1",
|
|
"attribute1": "5",
|
|
"exponentTypeId": symbol_map[symbol],
|
|
"cateId": "2",
|
|
"attribute2": "华北",
|
|
"city": "",
|
|
"startLine": "",
|
|
"endLine": "",
|
|
}
|
|
headers = {
|
|
"Origin": "http://index.0256.cn",
|
|
"Referer": "http://index.0256.cn/expx.htm",
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
"Chrome/90.0.4430.212 Safari/537.36",
|
|
}
|
|
r = requests.post(url, data=params, headers=headers)
|
|
data_json = r.json()
|
|
temp_df = pd.DataFrame(
|
|
[
|
|
data_json["chart1"]["xLebal"],
|
|
data_json["chart1"]["yLebal"],
|
|
data_json["chart2"]["yLebal"],
|
|
data_json["chart3"]["yLebal"],
|
|
]
|
|
).T
|
|
temp_df.columns = ["日期", "定基指数", "环比指数", "同比指数"]
|
|
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
|
temp_df["定基指数"] = pd.to_numeric(temp_df["定基指数"], errors="coerce")
|
|
temp_df["环比指数"] = pd.to_numeric(temp_df["环比指数"], errors="coerce")
|
|
temp_df["同比指数"] = pd.to_numeric(temp_df["同比指数"], errors="coerce")
|
|
return temp_df
|
|
|
|
|
|
def index_volume_cflp(symbol: str = "月指数") -> pd.DataFrame:
|
|
"""
|
|
中国公路物流运量指数
|
|
http://index.0256.cn/expx.htm
|
|
:param symbol: choice of {"月指数", "季度指数", "年度指数"}
|
|
:type symbol: str
|
|
:return: 中国公路物流运量指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
symbol_map = {
|
|
"月指数": "3",
|
|
"季度指数": "4",
|
|
"年度指数": "5",
|
|
}
|
|
url = "http://index.0256.cn/volume_query.action"
|
|
params = {
|
|
"type": "1",
|
|
"marketId": "1",
|
|
"expTypeId": symbol_map[symbol],
|
|
"startDate1": "",
|
|
"endDate1": "",
|
|
"city": "",
|
|
"startDate3": "",
|
|
"endDate3": "",
|
|
}
|
|
headers = {
|
|
"Origin": "http://index.0256.cn",
|
|
"Referer": "http://index.0256.cn/expx.htm",
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
"Chrome/90.0.4430.212 Safari/537.36",
|
|
}
|
|
r = requests.post(url, data=params, headers=headers)
|
|
data_json = r.json()
|
|
temp_df = pd.DataFrame(
|
|
[
|
|
data_json["chart1"]["xLebal"],
|
|
data_json["chart1"]["yLebal"],
|
|
data_json["chart2"]["yLebal"],
|
|
data_json["chart3"]["yLebal"],
|
|
]
|
|
).T
|
|
temp_df.columns = ["日期", "定基指数", "环比指数", "同比指数"]
|
|
temp_df["日期"] = pd.to_datetime(temp_df["日期"], errors="coerce").dt.date
|
|
temp_df["定基指数"] = pd.to_numeric(temp_df["定基指数"], errors="coerce")
|
|
temp_df["环比指数"] = pd.to_numeric(temp_df["环比指数"], errors="coerce")
|
|
temp_df["同比指数"] = pd.to_numeric(temp_df["同比指数"], errors="coerce")
|
|
return temp_df
|
|
|
|
|
|
if __name__ == "__main__":
|
|
index_price_cflp_df = index_price_cflp(symbol="周指数")
|
|
print(index_price_cflp_df)
|
|
|
|
index_price_cflp_df = index_price_cflp(symbol="月指数")
|
|
print(index_price_cflp_df)
|
|
|
|
index_price_cflp_df = index_price_cflp(symbol="季度指数")
|
|
print(index_price_cflp_df)
|
|
|
|
index_price_cflp_df = index_price_cflp(symbol="年度指数")
|
|
print(index_price_cflp_df)
|
|
|
|
index_volume_cflp_df = index_volume_cflp(symbol="月指数")
|
|
print(index_volume_cflp_df)
|
|
|
|
index_volume_cflp_df = index_volume_cflp(symbol="季度指数")
|
|
print(index_volume_cflp_df)
|
|
|
|
index_volume_cflp_df = index_volume_cflp(symbol="年度指数")
|
|
print(index_volume_cflp_df)
|