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,直连正常
130 lines
5.0 KiB
Python
130 lines
5.0 KiB
Python
# -*- coding:utf-8 -*-
|
|
# !/usr/bin/env python
|
|
"""
|
|
Date: 2023/6/19 17:00
|
|
Desc: 沐甜科技数据中心-中国食糖指数
|
|
https://www.msweet.com.cn/mtkj/sjzx13/index.html
|
|
"""
|
|
|
|
import requests
|
|
import pandas as pd
|
|
|
|
|
|
def index_sugar_msweet() -> pd.DataFrame:
|
|
"""
|
|
沐甜科技数据中心-中国食糖指数
|
|
https://www.msweet.com.cn/mtkj/sjzx13/index.html
|
|
:return: 中国食糖指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
url = "https://www.msweet.com.cn/eportal/ui"
|
|
params = {
|
|
"struts.portlet.action": "/portlet/price!getSTZSJson.action",
|
|
"moduleId": "cb752447cfe24b44b18c7a7e9abab048",
|
|
}
|
|
r = requests.get(url, params=params)
|
|
data_json = r.json()
|
|
temp_df = pd.concat(
|
|
[pd.DataFrame(data_json["category"]), pd.DataFrame(data_json["data"])], axis=1
|
|
)
|
|
temp_df.columns = ["日期", "综合价格", "原糖价格", "现货价格"]
|
|
temp_df.loc[3226, ["原糖价格"]] = 12.88 # 数据源错误
|
|
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_inner_quote_sugar_msweet() -> pd.DataFrame:
|
|
"""
|
|
沐甜科技数据中心-配额内进口糖估算指数
|
|
https://www.msweet.com.cn/mtkj/sjzx13/index.html
|
|
:return: 配额内进口糖估算指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
url = "https://www.msweet.com.cn/datacenterapply/datacenter/json/JinKongTang.json"
|
|
r = requests.get(url)
|
|
data_json = r.json()
|
|
temp_df = pd.concat(
|
|
[pd.DataFrame(data_json["category"]), pd.DataFrame(data_json["data"])], axis=1
|
|
)
|
|
temp_df.columns = [
|
|
"日期",
|
|
"利润空间",
|
|
"泰国糖",
|
|
"泰国MA5",
|
|
"巴西MA5",
|
|
"利润MA5",
|
|
"巴西MA10",
|
|
"巴西糖",
|
|
"柳州现货价",
|
|
"广州现货价",
|
|
"泰国MA10",
|
|
"利润MA30",
|
|
"利润MA10",
|
|
]
|
|
temp_df.loc[988, ["泰国糖"]] = 4045.2 # 数据源错误
|
|
temp_df["日期"] = temp_df["日期"].str.replace("/", "-")
|
|
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["泰国MA5"] = pd.to_numeric(temp_df["泰国MA5"], errors="coerce")
|
|
temp_df["巴西MA5"] = pd.to_numeric(temp_df["巴西MA5"], errors="coerce")
|
|
temp_df["巴西MA10"] = pd.to_numeric(temp_df["巴西MA10"], errors="coerce")
|
|
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")
|
|
temp_df["泰国MA10"] = pd.to_numeric(temp_df["泰国MA10"], errors="coerce")
|
|
temp_df["利润MA30"] = pd.to_numeric(temp_df["利润MA30"], errors="coerce")
|
|
temp_df["利润MA10"] = pd.to_numeric(temp_df["利润MA10"], errors="coerce")
|
|
return temp_df
|
|
|
|
|
|
def index_outer_quote_sugar_msweet() -> pd.DataFrame:
|
|
"""
|
|
沐甜科技数据中心-配额外进口糖估算指数
|
|
https://www.msweet.com.cn/mtkj/sjzx13/index.html
|
|
:return: 配额内进口糖估算指数
|
|
:rtype: pandas.DataFrame
|
|
"""
|
|
url = "https://www.msweet.com.cn/datacenterapply/datacenter/json/Jkpewlr.json"
|
|
r = requests.get(url)
|
|
data_json = r.json()
|
|
temp_df = pd.concat(
|
|
[pd.DataFrame(data_json["category"]), pd.DataFrame(data_json["data"])], axis=1
|
|
)
|
|
temp_df.columns = [
|
|
"日期",
|
|
"巴西糖进口成本",
|
|
"泰国糖进口利润空间",
|
|
"巴西糖进口利润空间",
|
|
"泰国糖进口成本",
|
|
"日照现货价",
|
|
]
|
|
temp_df["日期"] = temp_df["日期"].str.replace("/", "-")
|
|
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"
|
|
)
|
|
temp_df["泰国糖进口成本"] = pd.to_numeric(temp_df["泰国糖进口成本"])
|
|
temp_df["日照现货价"] = pd.to_numeric(temp_df["日照现货价"], errors="coerce")
|
|
return temp_df
|
|
|
|
|
|
if __name__ == "__main__":
|
|
index_sugar_msweet_df = index_sugar_msweet()
|
|
print(index_sugar_msweet_df)
|
|
|
|
index_inner_quote_sugar_msweet_df = index_inner_quote_sugar_msweet()
|
|
print(index_inner_quote_sugar_msweet_df)
|
|
|
|
index_outer_quote_sugar_msweet_df = index_outer_quote_sugar_msweet()
|
|
print(index_outer_quote_sugar_msweet_df)
|