| 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))
 
 
  |