Jelajahi Sumber

实现需求0623

wangkun 3 tahun lalu
induk
melakukan
1d0cd965ec
2 mengubah file dengan 38 tambahan dan 7 penghapusan
  1. 30 5
      main/demo.py
  2. 8 2
      main/download_play_sendtime.py

+ 30 - 5
main/demo.py

@@ -12,11 +12,11 @@ from main.feishu_lib import Feishu
 class Demo:
 
     @classmethod
-    def get_video_info(cls):
+    def get_video_info(cls, session, vid):
         url = "https://search.weixin.qq.com/cgi-bin/recwxa/recwxagetonevideoinfo?"
         param = {
-            "session": "MSfFEF48cx1fSLhB3c2uEinhfSzecBHMDPVKmpcciDtwmG92mzZn4tZ5oLQf9RtfLLzxW3Ns4uodIvEAFlx28hPTGjdCxSVbfJ4kDyscORaqxapOp45k8BcinewqxyR-pwRVtP0k-AjrO2AhpziB3qp7o1TcTILcR6Dq5s5TmC6PzY3OuaPBaVAMyT1HnJO0R7HN62UkueNwzkqAbCr1-AIX-mpe0QJ-IIvV7jeoMRNGeqwMVR1vHTMEGdSo1OFv94Ga4w-gQFABhL3r6Ovly9VHpFX1Vv1JGRwP05R6u3eX6G-9VoSdCQ_tb92z9uT9RZXsGfet2HRTtGPYi7XIPRGa0pv1-59H6ZVBfa7q2lR_NJBBbfgEovXiCfUDjRSRsCZs8FRDrZOZTRKlVxKCzOI3YCI2y2SEelfVqo97clTTAxXDqXG1MximDxh3gw_k",
-            "vid": "ugc_bukozhr",
+            "session": session,
+            "vid": vid,
             "wxaVersion": "3.9.2",
             "channelid": "208201",
             "scene": "32",
@@ -28,7 +28,28 @@ class Demo:
         }
         r = requests.get(url=url, params=param)
         response = json.loads(r.content.decode("utf8"))
-        print(response["data"]["openid"])
+        data = response["data"]
+        v_title = data["title"]
+        v_play_cnt = data["played_cnt"]
+        v_comment_cnt = data["comment_cnt"]
+        v_liked_cnt = data["liked_cnt"]
+        v_shared_cnt = data["shared_cnt"]
+        v_duration = data["duration"]
+        v_width = data["width"]
+        v_height = data["height"]
+        v_send_date = data["upload_time"]
+        v_username = data["user_info"]["nickname"].strip().replace("\n", "")
+        v_user_id = data["openid"]
+        v_user_cover = data["user_info"]["headimg_url"]
+        v_video_cover = data["cover_url"]
+        v_url = data["play_info"]["items"][-1]["play_url"]
+        print(f"v_title:{v_title}")
+        print(f"v_play_cnt:{v_play_cnt}")
+        print(f"v_liked_cnt:{v_liked_cnt}")
+        print(f"v_comment_cnt:{v_comment_cnt}")
+        print(f"v_shared_cnt:{v_shared_cnt}")
+        print(f"v_duration:{v_duration}")
+        print(f"v_url:{v_url}")
 
     @classmethod
     def strtime_to_int(cls):
@@ -51,7 +72,11 @@ class Demo:
 
 if __name__ == "__main__":
     demo = Demo()
-    # demo.get_video_info()
+
+    session = "LHacJPGEcMn7Cb0ocD_Z1BDyCkRbNjux4_HuHAwpydcHHdw9uwJl9pyiZgD__06uuDUwZ-_vqY5XQ_mS0XFz43xUYxwE_HsmxvluYfOVR5kXJmgjEVMlSDJ-R2IRr6ObHVZDaSLPV_i52pL0joEWP3FSHOZpXa72I9SPFUdQ1LRRGVvEhQBxMjuqvymnK5bv1HJwS_UoDIoue2nOrWmTCCAiR7YOUGnE8pwL0RLxsxSXU_fa3Ujgr9SbzFf3WhPo_QV92loTyXBTCJ8V8FsISqSKRlupG4n7osIyvEgtJEMS4Lt8K14Pc9i6X4e2EDUwoY66dOYbaoG5jaYgtdzKdYICRKnUK8jg_EAiSW7xzuorOLyoGDXlpL3AjVfivcys98Dg5b-BwTx7YhjUSbyVfDKrA5NFUY8cXJAJ2jWM6SSL91UNXVse7k4e8gMRGceC"
+    videoid = "ugc_xnl1c7"
+    demo.get_video_info(session, videoid)
+
     # demo.strtime_to_int()
     # demo.demo1()
     # Feishu.insert_columns("C8LQ1b", "ROWS", 1, 2)

+ 8 - 2
main/download_play_sendtime.py

@@ -23,11 +23,11 @@ class DownloadPlaySendtime:
     def send_time_rule(send_time_width, send_time_height, send_time_duration, send_time_share_cnt):
         """
         1.分辨率,宽或者高 >= 720 or == 0
-        2.时长 >= 40s
+        2.时长 >= 60s
         3.视频播放量 >= 0
         """
         if int(send_time_width) >= 720 or int(send_time_height) >= 720:
-            if int(send_time_duration) >= 40:
+            if int(send_time_duration) >= 60:
                 if int(send_time_share_cnt) > 0:
                     return True
                 else:
@@ -116,6 +116,12 @@ class DownloadPlaySendtime:
                         # 从云文档删除该视频信息:https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=SdCHOM
                         Feishu.dimension_range("SdCHOM", "ROWS", i + 1, i + 1)
                         return
+                    elif v_send_date < 1622476800:
+                        Common.logger().info(
+                            "发布时间小于2021年6月:{},{}", download_video_title, v_send_date)
+                        # 删除行或列,可选 ROWS、COLUMNS
+                        Feishu.dimension_range("SdCHOM", "ROWS", i + 1, i + 1)
+                        return
                     # 抓取基础规则
                     elif cls.send_time_rule(v_width, v_height, v_duration, v_play_cnt_sendtime) is False:
                         Common.logger().info("不满足发布时间榜下载规则,删除该视频信息:{}", download_video_title)