123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- """
- Author renyupeng
- coding=utf-8
- @Time : 2023/2/9 1:21 下午
- @Site :
- @File : PromoterFansInfo.py
- @Software: PyCharm
- @contact: renyupeng@c-top.com.cn
- @Tel 1501435553
- """
- import json
- import requests
- from utils.mysql_helper import insert, batch_insert
- from utils.mysql_utils import MysqlUtils
- from utils.send_feishu_msg import SendFeiShuMsg
- class PromoterFansInfo:
- def __init__(self):
- self.conn = MysqlUtils()
- self.list = [1, 2, 3]
- def PromoterFansInfoHandler(self, promoterId, cookie):
- headers = {'User-Agent': 'Mozilla/5.0',
- 'Cookie': cookie}
- try:
- for i in self.list:
- url = 'https://cps.kwaixiaodian.com/distribute/pc/seller/promoter/fans/info?' \
- 'promoterId={promoterId}&timeRangeType={timeRangeType}'.format(promoterId=promoterId,
- timeRangeType=i)
- rep = requests.get(url=url, headers=headers)
- table_name = 'kwai_promoter_fans_info'
- data = json.loads(rep.text)["data"]
- if data["fansProvinceFeature"] is None:
- SendFeiShuMsg.send_robot_msg("达人{promoterId}粉丝数据 is None".format(promoterId=promoterId))
- else:
- promoter_fans_item = {"fansAgeFeature": json.dumps(data["fansAgeFeature"]),
- "fansCityFeature": json.dumps(data["fansCityFeature"]),
- "fansCityLevelFeature": json.dumps(data["fansCityLevelFeature"]),
- "fansEquipBrandFeature": json.dumps(data["fansEquipBrandFeature"]),
- "fansEquipPriceFeature": json.dumps(data["fansEquipPriceFeature"]),
- "fansGenderFeature": json.dumps(data["fansGenderFeature"]),
- "fansNumTrend": json.dumps(data["fansNumTrend"]),
- "fansProvinceFeature": json.dumps(data["fansProvinceFeature"]),
- "promoteAvgPrice": json.dumps(data["promoteAvgPrice"]),
- "promoterId": promoterId,
- "timeRangeType": i}
- insert(table_name=table_name, item=promoter_fans_item)
- fans_type_date_list = []
- fans_base_table = 'kwai_promoter_fans_base_info'
- if data["fansProvinceFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansProvinceFeature 数据 is None".format(promoterId=promoterId))
- else:
- fansProvinceFeatureList = tuple(data["fansProvinceFeature"])
- for fansProvinceFeature in fansProvinceFeatureList:
- fansProvinceFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Province',
- "type_date": fansProvinceFeature["provinceFeature"],
- "FeatureRate": fansProvinceFeature["provinceFeatureRate"]}
- fans_type_date_list.append(fansProvinceFeatureItem)
- if data["fansAgeFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝fansAgeFeature数据 is None".format(promoterId=promoterId))
- else:
- fansAgeFeatureList = tuple(data["fansAgeFeature"])
- for fansAgeFeature in fansAgeFeatureList:
- fansAgeFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Age',
- "type_date": fansAgeFeature["ageFeature"],
- "FeatureRate": fansAgeFeature["ageFeatureRate"]}
- fans_type_date_list.append(fansAgeFeatureItem)
- if data["fansCityFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansCityFeature 数据 is None".format(promoterId=promoterId))
- else:
- fansCityFeatureList = tuple(data["fansCityFeature"])
- for fansCityFeature in fansCityFeatureList:
- fansCityFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'City',
- "type_date": fansCityFeature["cityFeature"],
- "FeatureRate": fansCityFeature["cityFeatureRate"]}
- fans_type_date_list.append(fansCityFeatureItem)
- if data["fansCityLevelFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansCityLevelFeature 数据 is None".format(promoterId=promoterId))
- else:
- fansCityLevelFeatureList = tuple(data["fansCityLevelFeature"])
- for fansCityLevelFeature in fansCityLevelFeatureList:
- fansCityLevelFeatureItem = {"promoterId": promoterId, "timeRangeType": i,
- "type": 'CityLevel',
- "type_date": fansCityLevelFeature["cityLevelFeature"],
- "FeatureRate": fansCityLevelFeature["cityLevelRate"]}
- fans_type_date_list.append(fansCityLevelFeatureItem)
- if data["fansEquipBrandFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansEquipBrandFeature 数据 is None".format(promoterId=promoterId))
- else:
- fansEquipBrandFeatureList = tuple(data["fansEquipBrandFeature"])
- for fansEquipBrandFeature in fansEquipBrandFeatureList:
- fansEquipBrandFeatureItem = {"promoterId": promoterId, "timeRangeType": i,
- "type": 'EquipBrand',
- "type_date": fansEquipBrandFeature["equipBrandTitleFeature"],
- "FeatureRate": fansEquipBrandFeature["equipBrandFeatureRate"]}
- fans_type_date_list.append(fansEquipBrandFeatureItem)
- if data["fansEquipPriceFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansEquipPriceFeature 数据 is None".format(promoterId=promoterId))
- else:
- fansEquipPriceFeatureList = tuple(data["fansEquipPriceFeature"])
- for fansEquipPriceFeature in fansEquipPriceFeatureList:
- fansEquipPriceFeatureItem = {"promoterId": promoterId, "timeRangeType": i,
- "type": 'EquipPrice',
- "type_date": fansEquipPriceFeature["equipPriceFeature"],
- "FeatureRate": fansEquipPriceFeature["equipPriceFeatureRate"]}
- fans_type_date_list.append(fansEquipPriceFeatureItem)
- if data["promoteAvgPrice"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 promoteAvgPrice 数据 is None".format(promoterId=promoterId))
- else:
- promoteAvgPriceList = tuple(data["promoteAvgPrice"])
- for promoteAvgPrice in promoteAvgPriceList:
- promoteAvgPriceItem = {"promoterId": promoterId, "timeRangeType": i,
- "type": 'promoteAvgPrice',
- "type_date": promoteAvgPrice["avgPriceFeature"],
- "FeatureRate": promoteAvgPrice["avgPriceFeatureRate"]}
- fans_type_date_list.append(promoteAvgPriceItem)
- fansGenderFeatureList = tuple(data["fansGenderFeature"])
- if data["fansGenderFeature"] is None:
- SendFeiShuMsg.send_robot_msg(
- "达人{promoterId}粉丝 fansGenderFeature 数据 is None".format(promoterId=promoterId))
- else:
- for fansGenderFeature in fansGenderFeatureList:
- fansGenderFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Gender',
- "type_date": fansGenderFeature["genderFeature"],
- "FeatureRate": fansGenderFeature["genderFeatureRate"]}
- fans_type_date_list.append(fansGenderFeatureItem)
- batch_insert(table_name=fans_base_table, item_list=fans_type_date_list)
- fans_trend_list = []
- if i == 3:
- fans_trend_table = 'kwai_promoter_fans_trend_info'
- fansNumTrendList = tuple(data["fansNumTrend"])
- for fansNumTrend in fansNumTrendList:
- fansNumTrendItem = {"promoterId": promoterId,
- "date": fansNumTrend["date"],
- "fansTotalAmount": fansNumTrend["fansTotalAmount"],
- "fansIncreaseAmount": fansNumTrend["fansIncreaseAmount"]}
- fans_trend_list.append(fansNumTrendItem)
- batch_insert(table_name=fans_trend_table, item_list=fans_trend_list)
- except Exception as e:
- SendFeiShuMsg.send_robot_msg(
- 'PromoterFansInfo {promoterId}请求错误请检查cookie{e}'.format(promoterId=promoterId, e=e))
|