SpiderDouyinHeader.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Author renyupeng
  2. # coding=utf-8
  3. # @Time : 2023/3/23 2:49 下午
  4. # @Site :
  5. # @File : SpiderDouyinHeader.py
  6. # @Software: PyCharm
  7. # @contact: renyupeng@c-top.com.cn
  8. # @Tel 1501435553
  9. import json
  10. import requests
  11. from utils.mysql_utils_pro import MysqlProUtils
  12. class SpiderDouyinHeader:
  13. def __int__(self):
  14. self.conn = MysqlProUtils()
  15. def DouyinHandler(self, promoter_id, cookie):
  16. url = "https://api-service.chanmama.com/v5/home/author/search?keyword={promoter_id}&author_type=0&category_id=-1&group_purchase_province=&big_group_purchase_category=&group_purchase_author_type=0&group_purchase_level=&group_purchase_part=0&group_purchase_is_self_play=0&star_category=&star_sub_category=&gender=-1&age=&province=&fans_gender=-1&fans_age=&fans_province=&live_price_preference=&aweme_price_preference=&live_purchase_intention=-1&aweme_purchase_intention=-1&follower_count=&take_product_method=0&verification_type=0&author_level=&is_brand_self_author=0&is_shop_author=0&is_star_author=0&is_low_fans_high_gmv=0&is_commerce=0&author_self_play=0&take_product_level=&has_take_product_day30=0&take_product_price=&reputation_level=-1&live_watch_count=&live_average_amount_30_v2=&gpm=&digg_count=&is_ignore_government=1&contact=0&is_steped_author=0&similar_author_id=&page=1&size=50&sort=follower_count&bring_product_brand=&order_by=desc&from=detail".format(
  17. promoter_id=promoter_id)
  18. payload = {}
  19. headers = {
  20. 'Cookie': cookie,
  21. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  22. 'Accept': '*/*',
  23. 'Host': 'api-service.chanmama.com',
  24. 'Connection': 'keep-alive'
  25. }
  26. rep = requests.request("GET", url, headers=headers, data=payload)
  27. print(rep.text,'-------rep.text---------')
  28. dy_info_list = json.loads(rep.text)["data"]['list']
  29. dy_promoter_item = {}
  30. if dy_info_list is not None:
  31. for dy_info in dy_info_list:
  32. if dy_info['unique_id'] == promoter_id:
  33. print(dy_info, '-----------------')
  34. nickname = dy_info['nickname']
  35. unique_id = dy_info['unique_id']
  36. avatar = dy_info['avatar']
  37. follower_incr = dy_info['follower_incr']
  38. follower_count = dy_info['follower_count']
  39. aweme_avg_digg_count_30 = dy_info['aweme_avg_digg_count_30']
  40. aweme_digg_follower_ration = dy_info['aweme_digg_follower_ration']
  41. live_count_30 = dy_info['live_count_30']
  42. live_average_user_30 = dy_info['live_average_user_30']
  43. live_total_amount_30_text = dy_info['live_total_amount_30_text']
  44. dy_promoter_item = {
  45. ##达人名称
  46. "promoterNickName": nickname,
  47. ##达人头像
  48. "promoterHeadImgUrl": avatar,
  49. ## 达人ID
  50. "promoter_id": unique_id,
  51. ##粉丝增量
  52. "follower_incr": follower_incr,
  53. ## 粉丝数
  54. "fanNum": follower_count,
  55. ## 总销售额
  56. "totalSale": live_total_amount_30_text,
  57. ## 直播场次
  58. "live_count_30": live_count_30,
  59. ## 平均点赞量
  60. "aweme_avg_digg_count_30": aweme_avg_digg_count_30,
  61. ## 平均赞粉比
  62. "aweme_digg_follower_ration": aweme_digg_follower_ration,
  63. ##直播平均场观
  64. "live_average_user_30": live_average_user_30
  65. }
  66. dy_promoter_item = json.dumps(dy_promoter_item)
  67. return dy_promoter_item