123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- # -*- 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()
|