""" Author renyupeng coding=utf-8 @Time : 2023/2/9 5:07 下午 @Site : @File : PromoterInfoWebHook.py @Software: PyCharm @contact: renyupeng@c-top.com.cn @Tel 1501435553 """ from flask import Flask, request, json from DouyinSpider.SpiderDouyinHeader import SpiderDouyinHeader from constant.ConfConstant import ConfConstant 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 multiprocessing import Process from spider.ReturnPromoterInfoSpider import ReturnPromoterInfoSpider from utils.cookie_update import cookie_update from utils.douyin_cookie_update import douyin_cookie_update from utils.send_feishu_msg import SendFeiShuMsg app = Flask(__name__) def api_root(): return 'Welcome guys' @app.route('/promoterInfo/getPromoterId', methods=['POST']) def webhook_get_promoter(): rep = json.loads(request.data) promoterId = rep["promoterId"] media_id = rep["mediaId"] if media_id == '2' or media_id is None: cookie = cookie_update.get_cookie_handler()[0] phone_num = cookie_update.get_cookie_handler()[1] roll = ReturnPromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, cookie) if json.loads(roll).__contains__("result"): if json.loads(roll)["result"] == 100110000: SendFeiShuMsg.send_cookie_robot_msg( "cookie 永久失效 轻更新cookie 唯一电话为{phone_num}".format(phone_num=phone_num)) cookie_update.update_cookie_handler(phone_num) retry_cookie = cookie_update.get_cookie_handler()[0] rollback = ReturnPromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, retry_cookie) p1 = Process(target=PromoterInfoSpider().PromoterInfoSpiderHandler, args=(promoterId, retry_cookie)) p2 = Process(target=PromoterFansInfo().PromoterFansInfoHandler, args=(promoterId, retry_cookie)) p3 = Process(target=PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander, args=(promoterId, retry_cookie)) p4 = Process(target=PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler, args=(promoterId, retry_cookie)) p5 = Process(target=PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler, args=(promoterId, retry_cookie)) p1.start() p2.start() p3.start() p4.start() p5.start() return rollback 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) retry_cookie = cookie_update.get_cookie_handler()[0] rolls = ReturnPromoterInfoSpider().PromoterInfoSpiderHandler(promoterId, retry_cookie) p1 = Process(target=PromoterInfoSpider().PromoterInfoSpiderHandler, args=(promoterId, retry_cookie)) p2 = Process(target=PromoterFansInfo().PromoterFansInfoHandler, args=(promoterId, retry_cookie)) p3 = Process(target=PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander, args=(promoterId, retry_cookie)) p4 = Process(target=PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler, args=(promoterId, retry_cookie)) p5 = Process(target=PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler, args=(promoterId, retry_cookie)) p1.start() p2.start() p3.start() p4.start() p5.start() return rolls else: p1 = Process(target=PromoterInfoSpider().PromoterInfoSpiderHandler, args=(promoterId, cookie)) p2 = Process(target=PromoterFansInfo().PromoterFansInfoHandler, args=(promoterId, cookie)) p3 = Process(target=PromoterLiveInfoSpider().PromoterLiveInfoSpiderHander, args=(promoterId, cookie)) p4 = Process(target=PromoterVideoAnalysisInfo().PromoterVideoAnalysisInfoHandler, args=(promoterId, cookie)) p5 = Process(target=PromoterVideoAnalysisTrend().PromoterVideoAnalysisTrendHandler, args=(promoterId, cookie)) p1.start() p2.start() p3.start() p4.start() p5.start() return roll else: rep = json.loads(request.data) promoterId = rep["promoterId"] cookie = douyin_cookie_update.get_cookie_handler()[0] phone_num = douyin_cookie_update.get_cookie_handler()[1] roll = SpiderDouyinHeader().DouyinHandler(promoterId, cookie) if roll != 10086: return roll else: douyin_cookie_update.update_cookie_handler(phone_num) return {} @app.route('/promoterInfo/updatePromoter', methods=['POST']) def webhook_update_promoter(): rep = json.loads(request.data) promoterId = rep["promoterId"] cookie = cookie_update.get_cookie_handler()[0] ReturnPromoterInfoSpider().PromoterUpdate(promoterId, cookie) return '0' if __name__ == '__main__': app.run(port=9999, host=ConfConstant.URL, debug=True)