ReturnPromoterInfoSpider.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. """
  2. Author renyupeng
  3. coding=utf-8
  4. @Time : 2023/2/7 2:34 下午
  5. @Site :
  6. @File : ReturnPromoterInfoSpider.py
  7. @Software: PyCharm
  8. @contact: renyupeng@c-top.com.cn
  9. @Tel 1501435553
  10. """
  11. import json
  12. import random
  13. import redis
  14. import requests
  15. from utils.cookie_update import cookie_update
  16. from utils.mysql_helper import insert
  17. from utils.mysql_utils import MysqlUtils
  18. from utils.mysql_utils_pro import MysqlProUtils
  19. from utils.send_feishu_msg import SendFeiShuMsg
  20. class ReturnPromoterInfoSpider:
  21. def __init__(self):
  22. self.conn = MysqlUtils()
  23. @staticmethod
  24. def PromoterInfoSpiderHandler(promoterId, cookie):
  25. url = 'https://cps.kwaixiaodian.com/distribute/pc/seller/promoter/info?promoterId={promoterId}&type=1'.format(
  26. promoterId=promoterId)
  27. headers = {'User-Agent': 'Mozilla/5.0',
  28. 'Cookie': cookie}
  29. try:
  30. rep = requests.get(url=url, headers=headers)
  31. print(rep.text, '----------')
  32. if json.loads(rep.text)["result"] != 1:
  33. errItem = {"result": json.loads(rep.text)["result"]}
  34. return json.dumps(errItem)
  35. else:
  36. data = json.loads(rep.text)["data"]
  37. print(data, '----data------')
  38. returnItem = {
  39. "city": data["addressInfo"]["city"],
  40. "province": data["addressInfo"]["province"],
  41. "fanNum": data["fanNum"],
  42. "promoterHeadImgUrl": data["promoterHeadImgUrl"],
  43. "promoterNickName": data["promoterNickName"],
  44. "totalSale": data["promoteBaseInfo"]["totalSale"],
  45. "avgVideoSales": data["promoteBaseInfo"]["avgVideoSales"],
  46. "videoSales": data["promoteBaseInfo"]["videoSales"]
  47. }
  48. returnItemJson = json.dumps(returnItem)
  49. print(returnItemJson, '----returnItemJson-----')
  50. return returnItemJson
  51. except Exception as e:
  52. SendFeiShuMsg.send_robot_msg(
  53. 'ReturnPromoterInfoSpider {promoterId}请求错误请检查cookie{e}'.format(promoterId=promoterId, e=e))
  54. @staticmethod
  55. def PromoterUpdate(promoterId, cookie):
  56. url = 'https://cps.kwaixiaodian.com/distribute/pc/seller/promoter/info?promoterId={promoterId}&type=1'.format(
  57. promoterId=promoterId)
  58. headers = {'User-Agent': 'Mozilla/5.0',
  59. 'Cookie': cookie}
  60. try:
  61. rep = requests.get(url=url, headers=headers)
  62. print(rep, '--------rep--------')
  63. if json.loads(rep.text)["result"] != 1:
  64. errItem = {"result": json.loads(rep.text)["result"]}
  65. return json.dumps(errItem)
  66. else:
  67. data = json.loads(rep.text)["data"]
  68. avgVideoSales = data["promoteBaseInfo"]["avgVideoSales"]
  69. videoSales = data["promoteBaseInfo"]["videoSales"]
  70. sql = "update ruixuan.promoter_info set videoSales= '{videoSales}' , avgVideoSales='{avgVideoSales}' where promoter_id={promoter_id}".format(
  71. videoSales=videoSales,
  72. avgVideoSales=avgVideoSales, promoter_id=promoterId
  73. )
  74. MysqlProUtils().Operate(sql=sql)
  75. except Exception as e:
  76. SendFeiShuMsg.send_robot_msg(
  77. 'PromoterUpdate {promoterId}请求错误请检查cookie{e}'.format(promoterId=promoterId, e=e))