| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- # Author renyupeng
 
- # coding=utf-8
 
- # @Time    : 2023/9/11 下午4:19
 
- # @Site    : 
 
- # @File    : SpiderWeekPromoterInfo.py
 
- # @Software: PyCharm
 
- # @contact: renyupeng@c-top.com.cn
 
- # @Tel 1501435553
 
- import json
 
- import time
 
- import random
 
- from multiprocessing import Process
 
- import redis
 
- from spider.PromoterFansInfo import PromoterFansInfo
 
- from spider.PromoterInfoSpider import PromoterInfoSpider
 
- from spider.PromoterLiveInfoSpider import PromoterLiveInfoSpider
 
- from spider.PromoterVideoAnalysisInfo import PromoterVideoAnalysisInfo
 
- from spider.PromoterVideoAnalysisTrend import PromoterVideoAnalysisTrend
 
- from spider.ReturnPromoterInfoSpider import ReturnPromoterInfoSpider
 
- from utils.cookie_update import cookie_update
 
- from utils.mysql_utils_pro import MysqlProUtils
 
- from utils.send_feishu_msg import SendFeiShuMsg
 
- class SpiderWeekPromoterInfo:
 
-     def __init__(self):
 
-         self.r = redis.Redis(host='192.168.0.193', password='hcst@2022', port=6379, db=0)
 
-         self.conn = MysqlProUtils()
 
-     def get_promoter(self, promoterId):
 
-         if self.r.zcard('kuaishou_shop_token') == 0:
 
-             cookie_update.get_coookie_to_redis()
 
-         else:
 
-             random_member = cookie_update.r.zrange('kuaishou_shop_token', 0, -1, withscores=True)
 
-             random_item = random.choice(random_member)
 
-             cookie = random_item[0].decode('utf-8')
 
-             phone_num = int(random_item[1])
 
-             roll = ReturnPromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, cookie)
 
-             if json.loads(roll).__contains__("result"):
 
-                 print(11111)
 
-                 if json.loads(roll)["result"] == 100110000:
 
-                     cookie_update.r.zrem('kuaishou_shop_token', random_item[0])
 
-                     SendFeiShuMsg.send_cookie_robot_msg(
 
-                         "cookie 永久失效 轻更新cookie 唯一电话为{phone_num}".format(phone_num=phone_num))
 
-                     retry_item = cookie_update.r.zrange('kuaishou_shop_token', 0, -1, withscores=True)
 
-                     retry_cookie = retry_item[0].decode('utf-8')
 
-                     cookie_update.update_cookie_handler(phone_num)
 
-                     PromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, retry_cookie)
 
-                     PromoterFansInfo().PromoterFansInfoHandler(promoterId, retry_cookie)
 
-                     PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander(promoterId, retry_cookie)
 
-                     PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler(promoterId, retry_cookie)
 
-                     PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler(promoterId, retry_cookie)
 
-                 else:
 
-                     SendFeiShuMsg.send_cookie_robot_msg(
 
-                         "cookie 临时失效 唯一电话为{phone_num},临时失效code{code}".format(phone_num=phone_num,
 
-                                                                              code=json.loads(roll)["result"]))
 
-                     cookie_update.update_temporary_cookie_handler(phone_num)
 
-                     cookie_update.r.zrem('kuaishou_shop_token', random_item[0])
 
-                     retry_item = cookie_update.r.zrange('kuaishou_shop_token', 0, -1, withscores=True)
 
-                     retry_cookie = retry_item[0].decode('utf-8')
 
-                     PromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, retry_cookie)
 
-                     PromoterFansInfo().PromoterFansInfoHandler(promoterId, retry_cookie)
 
-                     PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander(promoterId, retry_cookie)
 
-                     PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler(promoterId, retry_cookie)
 
-                     PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler(promoterId, retry_cookie)
 
-             else:
 
-                 self.update_promoter_info(promoterId)
 
-                 PromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, cookie)
 
-                 PromoterFansInfo().PromoterFansInfoHandler(promoterId, cookie)
 
-                 PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander(promoterId, cookie)
 
-                 PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler(promoterId, cookie)
 
-                 PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler(promoterId, cookie)
 
-                 cookie_update.r.zrem('kuaishou_shop_token', random_item[0])
 
-                 return roll
 
-     def get_promoter_info(self):
 
-         sql = """
 
-         select promoter_id from ruixuan.promoter_info 
 
-         """
 
-         promoter_result = self.conn.QueryAll(sql)
 
-         for promoter in promoter_result:
 
-             promoter_id = int(promoter[0].decode('utf-8'))
 
-             self.get_promoter(promoter_id)
 
-             time.sleep(2)
 
-     def update_promoter_info(self, promoter_id):
 
-         roll = self.get_promoter(promoter_id)
 
-         fanNum = roll['fanNum']
 
-         totalSale = roll["promoteBaseInfo"]["totalSale"]
 
-         avgVideoSales = roll["promoteBaseInfo"]["avgVideoSales"]
 
-         videoSales = roll["promoteBaseInfo"]["videoSales"]
 
-         sql = """ update ruixuan.promoter_sales_info set   total_sale={totalSale} ,fans_number={fanNum},avg_video_sales={avgVideoSales}
 
-          video_sales={videoSales} where promoter_id={promoterId}
 
-          """.format(totalSale=totalSale, fanNum=fanNum, avgVideoSales=avgVideoSales, videoSales=videoSales,
 
-                     promoterId=promoter_id)
 
-         MysqlProUtils().Operate(sql=sql)
 
- if __name__ == '__main__':
 
-     SpiderWeekPromoterInfo().get_promoter_info()
 
 
  |