wangkun 2 years ago
parent
commit
96d76d255b
7 changed files with 279 additions and 227 deletions
  1. BIN
      .DS_Store
  2. BIN
      videos/.DS_Store
  3. 13 1
      xinshi/demo.py
  4. 29 0
      xinshi/run_xinshi.py
  5. 223 217
      xinshi/xinshi_app.py
  6. 10 6
      xinshi/xinshi_pc.py
  7. 4 3
      xinshi/xinshi_windows.py

BIN
.DS_Store


BIN
videos/.DS_Store


+ 13 - 1
xinshi/demo.py

@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 # @Author: wangkun
 # @Time: 2022/10/25
+import difflib
 import time
 
 from selenium.webdriver import DesiredCapabilities
@@ -32,6 +33,17 @@ class Demo:
             hot_word = hot_words[i].find_element(By.XPATH, '//span[@class="title-content-title"]')
             print(hot_word)
 
+    # 比较字符串相似度
+    @classmethod
+    def str_similarity(cls):
+        str1 = '男童不小心将玩具扔到姑父身上,姑父一耳光将男童扇倒地。目前家人已报警处理,孩子身体检查无大碍。#家庭 #监控下的惊险一幕 '
+        str2 = '...姑父一耳光将男童扇倒地。目前家人已报警处理,孩子身体检查无大碍。#家庭 #监控下的惊险一幕'
+
+        print(difflib.SequenceMatcher(None, str1, str2).quick_ratio())
+        # print(type(difflib.SequenceMatcher(None, str1, str2).quick_ratio()))
+
 
 if __name__ == '__main__':
-    Demo.get_hotword()
+    # Demo.get_hotword()
+    Demo.str_similarity()
+    pass

+ 29 - 0
xinshi/run_xinshi.py

@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# @Author: wangkun
+# @Time: 2022/10/27
+import datetime
+import os
+import sys
+import time
+sys.path.append(os.getcwd())
+from main.common import Common
+from xinshi.xinshi_app import XinshiAPP
+from xinshi.xinshi_pc import XinshiPC
+
+
+class Main:
+    @classmethod
+    def main(cls, log_type, env):
+        while True:
+            if datetime.datetime.now().hour <= 18:
+                Common.logger(log_type).info('开始抓取"新视-PC"内容\n')
+                XinshiPC.login(log_type, env)
+
+                Common.logger(log_type).info('休眠 1 分钟')
+                time.sleep(60)
+
+                Common.del_logs(log_type)
+
+
+if __name__ == '__main__':
+    Main.main('xinshi', 'dev')

+ 223 - 217
xinshi/xinshi_app.py

@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 # @Author: wangkun
 # @Time: 2022/10/26
+import difflib
 import os
 import sys
 import time
@@ -10,11 +11,10 @@ from appium.webdriver.webdriver import WebDriver
 from selenium.common import NoSuchElementException
 from selenium.webdriver.common.by import By
 
-from xinshi.xinshi_publish import Publish
-
 sys.path.append(os.getcwd())
 from main.common import Common
 from main.feishu_lib import Feishu
+from xinshi.xinshi_publish import Publish
 
 
 class XinshiAPP:
@@ -22,6 +22,7 @@ class XinshiAPP:
 
     @classmethod
     def start_wechat(cls, log_type, env):
+        # try:
         Common.logger(log_type).info('启动微信')
         caps = {
             "platformName": "Android",  # 手机操作系统 Android / iOS
@@ -57,6 +58,8 @@ class XinshiAPP:
         Common.logger(log_type).info('开始抓取"新视-推荐榜"')
         cls.search_video(log_type, driver, 'aOjaIU', env)
         Common.logger(log_type).info('"新视-推荐榜"抓取完毕\n')
+        # except Exception as e:
+        #     Common.logger(log_type).error('start_wechat异常:{}\n', e)
 
     @classmethod
     def search_element(cls, log_type, driver: WebDriver, element):
@@ -125,7 +128,10 @@ class XinshiAPP:
                     Common.logger(log_type).info('title:{}', download_title)
                     Common.logger(log_type).info('user:{}\n', download_user)
 
-                    if video_title[:20] in download_title and video_user in download_user:
+                    # 标题相似度>=50%, 用户名相似度>=80%
+                    # if video_title[:30] in download_title and video_user in download_user:
+                    if difflib.SequenceMatcher(None, video_title, download_title).quick_ratio() >= 0.5 \
+                            and difflib.SequenceMatcher(None, video_user, download_user).quick_ratio() >= 0.8:
                         Common.logger(log_type).info('点击进入该视频详情')
                         title_element.click()
                         break
@@ -242,227 +248,227 @@ class XinshiAPP:
 
     @classmethod
     def xinshi_download_publish(cls, log_type, sheetid, env):
-        try:
-            download_sheet = Feishu.get_values_batch(log_type, 'shipinhao', sheetid)
-            for i in range(1, len(download_sheet)):
-                download_title = download_sheet[i][2].strip().replace('"', '') \
-                    .replace('“', '').replace('“', '…').replace("\n", "") \
-                    .replace("/", "").replace("\r", "").replace("#", "") \
-                    .replace(".", "。").replace("\\", "").replace("&NBSP", "") \
-                    .replace(":", "").replace("*", "").replace("?", "") \
-                    .replace("?", "").replace('"', "").replace("<", "") \
-                    .replace(">", "").replace("|", "").replace(" ", "")
-                download_duration = download_sheet[i][3]
-                download_like_cnt = download_sheet[i][4]
-                download_share_cnt = download_sheet[i][5]
-                download_favorite_cnt = download_sheet[i][6]
-                download_comment_cnt = download_sheet[i][7]
-                download_username = download_sheet[i][8]
-                download_head_url = download_sheet[i][9]
-                download_cover_url = download_sheet[i][10]
-                download_video_url = download_sheet[i][11]
-
-                Common.logger(log_type).info("download_title:{}", download_title)
-                Common.logger(log_type).info("download_username:{}", download_username)
-                Common.logger(log_type).info("download_video_url:{}", download_video_url)
-
-                if download_title is None or download_duration is None or download_video_url is None:
-                    Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
-                    Common.logger(log_type).info('空行,删除成功\n')
-                    return
-                elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'c77cf9') for x
-                                             in y]:
-                    Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
-                    Common.logger(log_type).info('视频已下载,删除成功\n')
+        # try:
+        download_sheet = Feishu.get_values_batch(log_type, 'shipinhao', sheetid)
+        for i in range(1, len(download_sheet)):
+            download_title = download_sheet[i][2].strip().replace('"', '') \
+                .replace('“', '').replace('“', '…').replace("\n", "") \
+                .replace("/", "").replace("\r", "").replace("#", "") \
+                .replace(".", "。").replace("\\", "").replace("&NBSP", "") \
+                .replace(":", "").replace("*", "").replace("?", "") \
+                .replace("?", "").replace('"', "").replace("<", "") \
+                .replace(">", "").replace("|", "").replace(" ", "")
+            download_duration = download_sheet[i][3]
+            download_like_cnt = download_sheet[i][4]
+            download_share_cnt = download_sheet[i][5]
+            download_favorite_cnt = download_sheet[i][6]
+            download_comment_cnt = download_sheet[i][7]
+            download_username = download_sheet[i][8]
+            download_head_url = download_sheet[i][9]
+            download_cover_url = download_sheet[i][10]
+            download_video_url = download_sheet[i][11]
+
+            Common.logger(log_type).info("download_title:{}", download_title)
+            Common.logger(log_type).info("download_username:{}", download_username)
+            Common.logger(log_type).info("download_video_url:{}", download_video_url)
+
+            if download_title is None or download_duration is None or download_video_url is None:
+                Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
+                Common.logger(log_type).info('空行,删除成功\n')
+                return
+            elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'c77cf9') for x
+                                         in y]:
+                Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
+                Common.logger(log_type).info('视频已下载,删除成功\n')
+                return
+            elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'WAG7Dq') for x
+                                         in y]:
+                Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
+                Common.logger(log_type).info('视频已下载,删除成功\n')
+                return
+            elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', '0i4jmV') for x
+                                         in y]:
+                Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
+                Common.logger(log_type).info('视频已下载,删除成功\n')
+                return
+            elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'c77cf9') for x
+                                         in y]:
+                Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
+                Common.logger(log_type).info('视频已存在,删除成功\n')
+                return
+            else:
+                # 下载封面
+                Common.download_method(log_type=log_type, text="cover",
+                                       d_name=str(download_title), d_url=str(download_cover_url))
+                # 下载视频
+                Common.download_method(log_type=log_type, text="video",
+                                       d_name=str(download_title), d_url=str(download_video_url))
+                # 保存视频信息至 "./videos/{download_video_title}/info.txt"
+                with open("./videos/" + download_title
+                          + "/" + "info.txt", "a", encoding="UTF-8") as f_a:
+                    f_a.write('shipinhao' + str(int(time.time())) + "\n" +
+                              str(download_title) + "\n" +
+                              str(download_duration) + "\n" +
+                              str(download_favorite_cnt) + "\n" +
+                              str(download_comment_cnt) + "\n" +
+                              str(download_like_cnt) + "\n" +
+                              str(download_share_cnt) + "\n" +
+                              str(1920 * 1080) + "\n" +
+                              str(int(time.time())) + "\n" +
+                              str(download_username) + "\n" +
+                              str(download_head_url) + "\n" +
+                              str(download_video_url) + "\n" +
+                              str(download_cover_url) + "\n" +
+                              "shipinhao")
+                Common.logger(log_type).info("==========视频信息已保存至info.txt==========")
+
+                Common.logger(log_type).info("开始上传视频:{}".format(download_title))
+                if env == 'dev' and sheetid == 'gO4Sn4':
+                    our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
+                    our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
+                    # 视频ID工作表,插入首行
+                    Feishu.insert_columns(log_type, "shipinhao", '0i4jmV', "ROWS", 1, 2)
+                    # 视频ID工作表,首行写入数据
+                    upload_time = int(time.time())
+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
+                               "新视-热门榜",
+                               str(download_title),
+                               our_video_link,
+                               download_duration,
+                               download_like_cnt,
+                               download_share_cnt,
+                               download_favorite_cnt,
+                               download_comment_cnt,
+                               download_username,
+                               str(download_head_url),
+                               str(download_cover_url),
+                               str(download_video_url)]]
+                    time.sleep(1)
+                    Feishu.update_values(log_type, "shipinhao", '0i4jmV', "F2:V2", values)
+
+                    # 删除行或列,可选 ROWS、COLUMNS
+                    time.sleep(1)
+                    Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
+                    Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
                     return
-                elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'WAG7Dq') for x
-                                             in y]:
-                    Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
-                    Common.logger(log_type).info('视频已下载,删除成功\n')
+                elif env == 'dev' and sheetid == 'aOjaIU':
+                    our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_recommend")
+                    our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
+                    # 视频ID工作表,插入首行
+                    Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
+                    # 视频ID工作表,首行写入数据
+                    upload_time = int(time.time())
+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
+                               "新视-推荐榜",
+                               str(download_title),
+                               our_video_link,
+                               download_duration,
+                               download_like_cnt,
+                               download_share_cnt,
+                               download_favorite_cnt,
+                               download_comment_cnt,
+                               download_username,
+                               str(download_head_url),
+                               str(download_cover_url),
+                               str(download_video_url)]]
+                    time.sleep(1)
+                    Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
+
+                    # 删除行或列,可选 ROWS、COLUMNS
+                    time.sleep(1)
+                    Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
+                    Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
                     return
-                elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', '0i4jmV') for x
-                                             in y]:
-                    Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
-                    Common.logger(log_type).info('视频已下载,删除成功\n')
+                elif env == 'prod' and sheetid == 'gO4Sn4':
+                    our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
+                    our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
+                    # 视频ID工作表,插入首行
+                    Feishu.insert_columns(log_type, "shipinhao", '0i4jmV', "ROWS", 1, 2)
+                    # 视频ID工作表,首行写入数据
+                    upload_time = int(time.time())
+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
+                               "新视-热门榜",
+                               str(download_title),
+                               our_video_link,
+                               download_duration,
+                               download_like_cnt,
+                               download_share_cnt,
+                               download_favorite_cnt,
+                               download_comment_cnt,
+                               download_username,
+                               str(download_head_url),
+                               str(download_cover_url),
+                               str(download_video_url)]]
+                    time.sleep(1)
+                    Feishu.update_values(log_type, "shipinhao", '0i4jmV', "F2:V2", values)
+
+                    # 删除行或列,可选 ROWS、COLUMNS
+                    time.sleep(1)
+                    Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
+                    Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
                     return
-                elif str(download_title) in [x for y in Feishu.get_values_batch(log_type, 'shipinhao', 'c77cf9') for x
-                                             in y]:
-                    Feishu.dimension_range(log_type, 'shipinhao', sheetid, 'ROWS', i + 1, i + 1)
-                    Common.logger(log_type).info('视频已存在,删除成功\n')
+                elif env == 'prod' and sheetid == 'aOjaIU':
+                    our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_recommend")
+                    our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
+                    # 视频ID工作表,插入首行
+                    Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
+                    # 视频ID工作表,首行写入数据
+                    upload_time = int(time.time())
+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
+                               "新视-热门榜",
+                               str(download_title),
+                               our_video_link,
+                               download_duration,
+                               download_like_cnt,
+                               download_share_cnt,
+                               download_favorite_cnt,
+                               download_comment_cnt,
+                               download_username,
+                               str(download_head_url),
+                               str(download_cover_url),
+                               str(download_video_url)]]
+                    time.sleep(1)
+                    Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
+
+                    # 删除行或列,可选 ROWS、COLUMNS
+                    time.sleep(1)
+                    Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
+                    Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
                     return
                 else:
-                    # 下载封面
-                    Common.download_method(log_type=log_type, text="cover",
-                                           d_name=str(download_title), d_url=str(download_cover_url))
-                    # 下载视频
-                    Common.download_method(log_type=log_type, text="video",
-                                           d_name=str(download_title), d_url=str(download_video_url))
-                    # 保存视频信息至 "./videos/{download_video_title}/info.txt"
-                    with open("./videos/" + download_title
-                              + "/" + "info.txt", "a", encoding="UTF-8") as f_a:
-                        f_a.write('shipinhao' + str(int(time.time())) + "\n" +
-                                  str(download_title) + "\n" +
-                                  str(download_duration) + "\n" +
-                                  str(download_favorite_cnt) + "\n" +
-                                  str(download_comment_cnt) + "\n" +
-                                  str(download_like_cnt) + "\n" +
-                                  str(download_share_cnt) + "\n" +
-                                  str(1920 * 1080) + "\n" +
-                                  str(int(time.time())) + "\n" +
-                                  str(download_username) + "\n" +
-                                  str(download_head_url) + "\n" +
-                                  str(download_video_url) + "\n" +
-                                  str(download_cover_url) + "\n" +
-                                  "shipinhao")
-                    Common.logger(log_type).info("==========视频信息已保存至info.txt==========")
-
-                    Common.logger(log_type).info("开始上传视频:{}".format(download_title))
-                    if env == 'dev' and sheetid == 'gO4Sn4':
-                        our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
-                        our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
-                        # 视频ID工作表,插入首行
-                        Feishu.insert_columns(log_type, "shipinhao", '0i4jmV', "ROWS", 1, 2)
-                        # 视频ID工作表,首行写入数据
-                        upload_time = int(time.time())
-                        values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
-                                   "新视-热门榜",
-                                   str(download_title),
-                                   our_video_link,
-                                   download_duration,
-                                   download_like_cnt,
-                                   download_share_cnt,
-                                   download_favorite_cnt,
-                                   download_comment_cnt,
-                                   download_username,
-                                   str(download_head_url),
-                                   str(download_cover_url),
-                                   str(download_video_url)]]
-                        time.sleep(1)
-                        Feishu.update_values(log_type, "shipinhao", '0i4jmV', "F2:V2", values)
-
-                        # 删除行或列,可选 ROWS、COLUMNS
-                        time.sleep(1)
-                        Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
-                        Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
-                        return
-                    elif env == 'dev' and sheetid == 'aOjaIU':
-                        our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_recommend")
-                        our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
-                        # 视频ID工作表,插入首行
-                        Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
-                        # 视频ID工作表,首行写入数据
-                        upload_time = int(time.time())
-                        values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
-                                   "新视-推荐榜",
-                                   str(download_title),
-                                   our_video_link,
-                                   download_duration,
-                                   download_like_cnt,
-                                   download_share_cnt,
-                                   download_favorite_cnt,
-                                   download_comment_cnt,
-                                   download_username,
-                                   str(download_head_url),
-                                   str(download_cover_url),
-                                   str(download_video_url)]]
-                        time.sleep(1)
-                        Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
-
-                        # 删除行或列,可选 ROWS、COLUMNS
-                        time.sleep(1)
-                        Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
-                        Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
-                        return
-                    elif env == 'prod' and sheetid == 'gO4Sn4':
-                        our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
-                        our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
-                        # 视频ID工作表,插入首行
-                        Feishu.insert_columns(log_type, "shipinhao", '0i4jmV', "ROWS", 1, 2)
-                        # 视频ID工作表,首行写入数据
-                        upload_time = int(time.time())
-                        values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
-                                   "新视-热门榜",
-                                   str(download_title),
-                                   our_video_link,
-                                   download_duration,
-                                   download_like_cnt,
-                                   download_share_cnt,
-                                   download_favorite_cnt,
-                                   download_comment_cnt,
-                                   download_username,
-                                   str(download_head_url),
-                                   str(download_cover_url),
-                                   str(download_video_url)]]
-                        time.sleep(1)
-                        Feishu.update_values(log_type, "shipinhao", '0i4jmV', "F2:V2", values)
-
-                        # 删除行或列,可选 ROWS、COLUMNS
-                        time.sleep(1)
-                        Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
-                        Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
-                        return
-                    elif env == 'prod' and sheetid == 'aOjaIU':
-                        our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_recommend")
-                        our_video_link = "https://testadmin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
-                        # 视频ID工作表,插入首行
-                        Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
-                        # 视频ID工作表,首行写入数据
-                        upload_time = int(time.time())
-                        values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
-                                   "新视-热门榜",
-                                   str(download_title),
-                                   our_video_link,
-                                   download_duration,
-                                   download_like_cnt,
-                                   download_share_cnt,
-                                   download_favorite_cnt,
-                                   download_comment_cnt,
-                                   download_username,
-                                   str(download_head_url),
-                                   str(download_cover_url),
-                                   str(download_video_url)]]
-                        time.sleep(1)
-                        Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
-
-                        # 删除行或列,可选 ROWS、COLUMNS
-                        time.sleep(1)
-                        Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
-                        Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
-                        return
-                    else:
-                        our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
-                        our_video_link = "https://admin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
-                        # 视频ID工作表,插入首行
-                        Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
-                        # 视频ID工作表,首行写入数据
-                        upload_time = int(time.time())
-                        values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
-                                   "新视-热门榜",
-                                   str(download_title),
-                                   our_video_link,
-                                   download_duration,
-                                   download_like_cnt,
-                                   download_share_cnt,
-                                   download_favorite_cnt,
-                                   download_comment_cnt,
-                                   download_username,
-                                   str(download_head_url),
-                                   str(download_cover_url),
-                                   str(download_video_url)]]
-                        time.sleep(1)
-                        Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
-
-                        # 删除行或列,可选 ROWS、COLUMNS
-                        time.sleep(1)
-                        Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
-                        Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
-                        return
-        except Exception as e:
-            Feishu.dimension_range(log_type, "shipinhao", "FSDlBy", "ROWS", 2, 2)
-            Common.logger(log_type).error('download_publish异常,删除视频信息成功:{}\n', e)
+                    our_video_id = Publish.upload_and_publish(log_type, env, "xinshi_hot")
+                    our_video_link = "https://admin.piaoquantv.com/cms/post-detail/"+str(our_video_id)+"/info"
+                    # 视频ID工作表,插入首行
+                    Feishu.insert_columns(log_type, "shipinhao", 'WAG7Dq', "ROWS", 1, 2)
+                    # 视频ID工作表,首行写入数据
+                    upload_time = int(time.time())
+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(upload_time)),
+                               "新视-热门榜",
+                               str(download_title),
+                               our_video_link,
+                               download_duration,
+                               download_like_cnt,
+                               download_share_cnt,
+                               download_favorite_cnt,
+                               download_comment_cnt,
+                               download_username,
+                               str(download_head_url),
+                               str(download_cover_url),
+                               str(download_video_url)]]
+                    time.sleep(1)
+                    Feishu.update_values(log_type, "shipinhao", 'WAG7Dq', "F2:V2", values)
+
+                    # 删除行或列,可选 ROWS、COLUMNS
+                    time.sleep(1)
+                    Feishu.dimension_range(log_type, "shipinhao", sheetid, "ROWS", i + 1, i + 1)
+                    Common.logger(log_type).info("视频上传完成:{}\n", our_video_link)
+                    return
+        # except Exception as e:
+        #     Feishu.dimension_range(log_type, "shipinhao", "FSDlBy", "ROWS", 2, 2)
+        #     Common.logger(log_type).error('download_publish异常,删除视频信息成功:{}\n', e)
 
 
 if __name__ == '__main__':
-    XinshiAPP.start_wechat('xinshi-app', 'dev')
+    XinshiAPP.start_wechat('xinshi', 'dev')
 
     pass

+ 10 - 6
xinshi/xinshi_pc.py

@@ -8,14 +8,16 @@ from selenium.common import NoSuchElementException
 from selenium.webdriver import DesiredCapabilities, ActionChains
 from selenium.webdriver.common.by import By
 from seleniumwire import webdriver
+
 sys.path.append(os.getcwd())
 from main.common import Common
 from main.feishu_lib import Feishu
+from xinshi.xinshi_app import XinshiAPP
 
 
 class XinshiPC:
     @classmethod
-    def login(cls, log_type):
+    def login(cls, log_type, env):
         # 打印请求配置
         ca = DesiredCapabilities.CHROME
         ca["goog:loggingPrefs"] = {"performance": "ALL"}
@@ -92,11 +94,11 @@ class XinshiPC:
             cls.login(log_type)
 
         # 获取热门内容
-        cls.get_recenhot(log_type, driver)
+        cls.get_recenhot(log_type, driver, env)
         Common.logger(log_type).info('新视-热门内容抓取完毕\n')
 
         # 获取十万推荐内容
-        cls.get_hundredthousand(log_type, driver)
+        cls.get_hundredthousand(log_type, driver, env)
         Common.logger(log_type).info('新视-十万推荐内容抓取完毕\n')
 
         time.sleep(5)
@@ -105,7 +107,7 @@ class XinshiPC:
         driver.quit()
 
     @classmethod
-    def get_recenhot(cls, log_type, driver):
+    def get_recenhot(cls, log_type, driver, env):
         time.sleep(3)
         for i in range(1, 21):
             video_title = driver.find_element(
@@ -138,9 +140,10 @@ class XinshiPC:
                 time.sleep(1)
                 Feishu.update_values(log_type, 'shipinhao', 'gO4Sn4', 'A2:Z2', values)
                 Common.logger(log_type).info('视频信息写入飞书成功\n')
+                XinshiAPP.start_wechat(log_type, env)
 
     @classmethod
-    def get_hundredthousand(cls, log_type, driver):
+    def get_hundredthousand(cls, log_type, driver, env):
         time.sleep(3)
         Common.logger(log_type).info('点击"十万推荐"')
         driver.find_element(By.XPATH, '//div[@class="ant-tabs-nav-list"]/*[2]').click()
@@ -184,9 +187,10 @@ class XinshiPC:
                 time.sleep(1)
                 Feishu.update_values(log_type, 'shipinhao', 'aOjaIU', 'A2:Z2', values)
                 Common.logger(log_type).info('视频信息写入飞书成功\n')
+                XinshiAPP.start_wechat(log_type, env)
 
 
 if __name__ == '__main__':
-    XinshiPC.login('xinshi-hot')
+    XinshiPC.login('xinshi', 'dev')
 
     pass

+ 4 - 3
xinshi/xinshi_windows.py

@@ -13,7 +13,7 @@ from main.common import Common
 from main.feishu_lib import Feishu
 
 
-class GetXinshiGetUrl:
+class XinshiWindows:
     @classmethod
     def kill_pid(cls, log_type):
         try:
@@ -117,7 +117,8 @@ class GetXinshiGetUrl:
     def write_url(cls, log_type, sheetid):
         try:
             while True:
-                if Feishu.get_values_batch(log_type, 'shipinhao', sheetid)[1][11] is None:
+                if Feishu.get_values_batch(log_type, 'shipinhao', sheetid)[1][11] is not None\
+                        and Feishu.get_values_batch(log_type, 'shipinhao', sheetid)[1][11] is None:
                     Common.del_charles_files('recommend')
                     cls.click_video(log_type)
                     Common.logger(log_type).info('等待 2s')
@@ -163,7 +164,7 @@ class GetXinshiGetUrl:
 
 if __name__ == '__main__':
     while True:
-        GetXinshiGetUrl.run_get_url('xinshi-get-url')
+        XinshiWindows.run_get_url('xinshi-get-url')
         Common.del_logs('xinshi-get-url')
         time.sleep(1)