Files
MoFin/venv/lib/python3.12/site-packages/akshare/index/index_cflp.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- 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,直连正常
2026-06-30 02:56:35 +08:00

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)