# -*- coding: utf-8 -*- # @Time: 2024/03/27 import datetime import os import sys import time from datetime import datetime sys.path.append(os.getcwd()) from common import MysqlHelper, Feishu, Common from single_video.gongzhonghao.gongzhonghao_video import gongzhonghaoVdieo from single_video.shipinhao.shipinhao_author import shipinhaoVdieo from single_video.douyin.douyin_video import douyinVideo from single_video.kuaishou.kuaishou_video import kuaishouVideo from single_video.xigua.xigua_video import xiguaVideo class VxMessage(): @classmethod def read_id(cls): with open('/root/single_video_crawler/id', 'r') as file: # 读取文件的全部内容 content = file.read() return int(content) @classmethod def get_vx_message(cls, id): url_list = f"""select msg_type, content, nick_name, pq_uid, id, create_time from work_wx_kf_msg_info WHERE is_delete = 0 and id = {id} """ url_list = MysqlHelper.get_values(url_list) return url_list @classmethod def vx_data(cls): id = cls.read_id() vx_list = cls.get_vx_message(id) if vx_list: print("开始执行") Common.logger().info(f"查询到数据{vx_list}") for vx_message in vx_list: msg_type = vx_message[0] content = vx_message[1] channle = '' data = '' if msg_type == 'text': if "https://v.douyin.com" in content: channle = "douyin" data = douyinVideo.get_videoList(vx_message, channle) elif "https://v.ixigua.com" in content: channle = "xigua" data = xiguaVideo.get_videoList(vx_message, channle) elif "https://v.kuaishou.com" in content: channle = "kuaishou" data = kuaishouVideo.get_videoList(vx_message, channle) else: data = "该消息类型不做处理" elif msg_type == 'link': if "mp.weixin.qq.com/s" in content: channle = "gongzhonghao" data = gongzhonghaoVdieo.get_videoList(vx_message, channle) else: data = "该消息类型不做处理" elif msg_type == 'channels': if "nickname" in content: channle = "shipinhao" data = shipinhaoVdieo.get_videoList(vx_message, channle) else: data = "该消息类型不做处理" with open('/root/single_video_crawler/id', 'w') as file: file.write(str(id+1)) # 获取当前时间 current_time = datetime.now() formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S") if data == ' ': data = '无' values = [[ vx_message[3], vx_message[2], channle, vx_message[4], str(vx_message), str(vx_message[5]), formatted_time, data ]] Feishu.insert_columns('video', "edd0a8", "ROWS", 1, 2) time.sleep(0.5) Feishu.update_values('video', "edd0a8", "A2:Z2", values) else: print("数据库没有查询到数据") Common.logger().info("数据库没有查询到数据") if __name__ == '__main__': url_list = VxMessage.vx_data()