70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
import http.client
|
|
import json
|
|
|
|
|
|
index_mapping = {
|
|
"1": {"name": "交易指数", "text": "交易金额"},
|
|
"2": {"name": "流量指数", "text": "访客人数"},
|
|
"3": {"name": "支付转化率指数", "text": "支付转化率"},
|
|
"4": {"name": "客群指数", "text": "支付人数"},
|
|
"5": {"name": "搜索人气", "text": "搜索人数"},
|
|
"6": {"name": "加购人气", "text": "加购人数"},
|
|
"7": {"name": "收藏人气", "text": "收藏人数"},
|
|
}
|
|
|
|
|
|
def get_token(username, password):
|
|
conn = http.client.HTTPSConnection("www.koudai89.com")
|
|
payload = ""
|
|
headers = {}
|
|
conn.request(
|
|
"GET",
|
|
f"/web/api/login/doLogin?ursername=&password={password}&username={username}",
|
|
payload,
|
|
headers,
|
|
)
|
|
data = conn.getresponse().read()
|
|
data_dict = json.loads(data.decode("utf-8"))
|
|
|
|
try:
|
|
return data_dict["data"]["login_token"]
|
|
except Exception as e:
|
|
raise Exception(f"获取token失败: {e}")
|
|
|
|
|
|
def reduce_index(token, code, data=int | list) -> int | list:
|
|
conn = http.client.HTTPSConnection("www.koudai89.com")
|
|
payload_data = [data] if isinstance(data, int) else data
|
|
payload_data_list = [{"code": code, "value": item} for item in payload_data]
|
|
|
|
payload = json.dumps(payload_data_list)
|
|
headers = {
|
|
"Content-Type": "application/json",
|
|
"user-token": token,
|
|
}
|
|
conn.request("POST", "/web/api/adviserD/data/select", payload, headers)
|
|
response_data = conn.getresponse().read()
|
|
data_dict = json.loads(response_data.decode("utf-8"))
|
|
|
|
if not data_dict["state"]:
|
|
raise Exception(f"获取数据失败: {data_dict['msg']}")
|
|
|
|
reduce_data = data_dict["data"]
|
|
clear_data = [item.get("result_value") for item in reduce_data]
|
|
|
|
if isinstance(data, int):
|
|
return clear_data[0]
|
|
|
|
return clear_data
|
|
|
|
|
|
if __name__ == "__main__":
|
|
username = "17756164521"
|
|
password = "320753691love"
|
|
token = get_token(username, password)
|
|
result = reduce_index(token=token, code="1", data=[30000, 10000])
|
|
print(result)
|
|
|
|
|
|
|