PromoterFansInfo.py 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. """
  2. Author renyupeng
  3. coding=utf-8
  4. @Time : 2023/2/9 1:21 下午
  5. @Site :
  6. @File : PromoterFansInfo.py
  7. @Software: PyCharm
  8. @contact: renyupeng@c-top.com.cn
  9. @Tel 1501435553
  10. """
  11. import json
  12. import requests
  13. from utils.mysql_helper import insert, batch_insert
  14. from utils.mysql_utils import MysqlUtils
  15. from utils.send_feishu_msg import SendFeiShuMsg
  16. class PromoterFansInfo:
  17. def __init__(self):
  18. self.conn = MysqlUtils()
  19. self.list = [1, 2, 3]
  20. def PromoterFansInfoHandler(self, promoterId, cookie):
  21. headers = {'User-Agent': 'Mozilla/5.0',
  22. 'Cookie': cookie}
  23. try:
  24. for i in self.list:
  25. url = 'https://cps.kwaixiaodian.com/distribute/pc/seller/promoter/fans/info?' \
  26. 'promoterId={promoterId}&timeRangeType={timeRangeType}'.format(promoterId=promoterId,
  27. timeRangeType=i)
  28. rep = requests.get(url=url, headers=headers)
  29. table_name = 'kwai_promoter_fans_info'
  30. data = json.loads(rep.text)["data"]
  31. promoter_fans_item = {"fansAgeFeature": json.dumps(data["fansAgeFeature"]),
  32. "fansCityFeature": json.dumps(data["fansCityFeature"]),
  33. "fansCityLevelFeature": json.dumps(data["fansCityLevelFeature"]),
  34. "fansEquipBrandFeature": json.dumps(data["fansEquipBrandFeature"]),
  35. "fansEquipPriceFeature": json.dumps(data["fansEquipPriceFeature"]),
  36. "fansGenderFeature": json.dumps(data["fansGenderFeature"]),
  37. "fansNumTrend": json.dumps(data["fansNumTrend"]),
  38. "fansProvinceFeature": json.dumps(data["fansProvinceFeature"]),
  39. "promoteAvgPrice": json.dumps(data["promoteAvgPrice"]),
  40. "promoterId": promoterId,
  41. "timeRangeType": i}
  42. insert(table_name=table_name, item=promoter_fans_item)
  43. fans_type_date_list = []
  44. fans_base_table = 'kwai_promoter_fans_base_info'
  45. fansProvinceFeatureList = tuple(data["fansProvinceFeature"])
  46. for fansProvinceFeature in fansProvinceFeatureList:
  47. fansProvinceFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Province',
  48. "type_date": fansProvinceFeature["provinceFeature"],
  49. "FeatureRate": fansProvinceFeature["provinceFeatureRate"]}
  50. fans_type_date_list.append(fansProvinceFeatureItem)
  51. fansAgeFeatureList = tuple(data["fansAgeFeature"])
  52. for fansAgeFeature in fansAgeFeatureList:
  53. fansAgeFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Age',
  54. "type_date": fansAgeFeature["ageFeature"],
  55. "FeatureRate": fansAgeFeature["ageFeatureRate"]}
  56. fans_type_date_list.append(fansAgeFeatureItem)
  57. fansCityFeatureList = tuple(data["fansCityFeature"])
  58. for fansCityFeature in fansCityFeatureList:
  59. fansCityFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'City',
  60. "type_date": fansCityFeature["cityFeature"],
  61. "FeatureRate": fansCityFeature["cityFeatureRate"]}
  62. fans_type_date_list.append(fansCityFeatureItem)
  63. fansCityLevelFeatureList = tuple(data["fansCityLevelFeature"])
  64. for fansCityLevelFeature in fansCityLevelFeatureList:
  65. fansCityLevelFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'CityLevel',
  66. "type_date": fansCityLevelFeature["cityLevelFeature"],
  67. "FeatureRate": fansCityLevelFeature["cityLevelRate"]}
  68. fans_type_date_list.append(fansCityLevelFeatureItem)
  69. fansEquipBrandFeatureList = tuple(data["fansEquipBrandFeature"])
  70. for fansEquipBrandFeature in fansEquipBrandFeatureList:
  71. fansEquipBrandFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'EquipBrand',
  72. "type_date": fansEquipBrandFeature["equipBrandTitleFeature"],
  73. "FeatureRate": fansEquipBrandFeature["equipBrandFeatureRate"]}
  74. fans_type_date_list.append(fansEquipBrandFeatureItem)
  75. fansEquipPriceFeatureList = tuple(data["fansEquipPriceFeature"])
  76. for fansEquipPriceFeature in fansEquipPriceFeatureList:
  77. fansEquipPriceFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'EquipPrice',
  78. "type_date": fansEquipPriceFeature["equipPriceFeature"],
  79. "FeatureRate": fansEquipPriceFeature["equipPriceFeatureRate"]}
  80. fans_type_date_list.append(fansEquipPriceFeatureItem)
  81. promoteAvgPriceList = tuple(data["promoteAvgPrice"])
  82. for promoteAvgPrice in promoteAvgPriceList:
  83. promoteAvgPriceItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'promoteAvgPrice',
  84. "type_date": promoteAvgPrice["avgPriceFeature"],
  85. "FeatureRate": promoteAvgPrice["avgPriceFeatureRate"]}
  86. fans_type_date_list.append(promoteAvgPriceItem)
  87. fansGenderFeatureList = tuple(data["fansGenderFeature"])
  88. for fansGenderFeature in fansGenderFeatureList:
  89. fansGenderFeatureItem = {"promoterId": promoterId, "timeRangeType": i, "type": 'Gender',
  90. "type_date": fansGenderFeature["genderFeature"],
  91. "FeatureRate": fansGenderFeature["genderFeatureRate"]}
  92. fans_type_date_list.append(fansGenderFeatureItem)
  93. batch_insert(table_name=fans_base_table, item_list=fans_type_date_list)
  94. fans_trend_list = []
  95. if i == 3:
  96. fans_trend_table = 'kwai_promoter_fans_trend_info'
  97. fansNumTrendList = tuple(data["fansNumTrend"])
  98. for fansNumTrend in fansNumTrendList:
  99. fansNumTrendItem = {"promoterId": promoterId,
  100. "date": fansNumTrend["date"],
  101. "fansTotalAmount": fansNumTrend["fansTotalAmount"],
  102. "fansIncreaseAmount": fansNumTrend["fansIncreaseAmount"]}
  103. fans_trend_list.append(fansNumTrendItem)
  104. batch_insert(table_name=fans_trend_table, item_list=fans_trend_list)
  105. except Exception as e:
  106. SendFeiShuMsg.send_robot_msg('PromoterFansInfo请求错误请检查cookie{e}'.format(e=e))