| 
					
				 | 
			
			
				@@ -15,19 +15,19 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 翻页初始值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     next_t_list = [-1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person_x_b3_traceid = Feishu.get_range_value("person-log", "xiaoniangao", "dzcWHw", "C3:C3")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person_x_token_id = Feishu.get_range_value("person-log", "xiaoniangao", "dzcWHw", "C4:C4")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person_referer = Feishu.get_range_value("person-log", "xiaoniangao", "dzcWHw", "C5:C5")[0][0]["link"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person_uid = Feishu.get_range_value("person-log", "xiaoniangao", "dzcWHw", "C6:C6")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person_token = Feishu.get_range_value("person-log", "xiaoniangao", "dzcWHw", "C7:C7")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    person_x_b3_traceid = Feishu.get_range_value("person", "xiaoniangao", "dzcWHw", "C3:C3")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    person_x_token_id = Feishu.get_range_value("person", "xiaoniangao", "dzcWHw", "C4:C4")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    person_referer = Feishu.get_range_value("person", "xiaoniangao", "dzcWHw", "C5:C5")[0][0]["link"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    person_uid = Feishu.get_range_value("person", "xiaoniangao", "dzcWHw", "C6:C6")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    person_token = Feishu.get_range_value("person", "xiaoniangao", "dzcWHw", "C7:C7")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 过滤敏感词 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def sensitive_words(cls): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def sensitive_words(cls, log_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 敏感词库列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         word_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 从云文档读取所有敏感词,添加到词库列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lists = Feishu.get_values_batch("person-logs", "xiaoniangao", "DRAnZh") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lists = Feishu.get_values_batch(log_type, "xiaoniangao", "DRAnZh") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for i in lists: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for j in i: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 过滤空的单元格内容 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52,7 +52,7 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :return: 满足规则,返回 True;反之,返回 False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 视频时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if 600 >= int(float(d_duration)) >= 60: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if int(float(d_duration)) >= 40: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # 宽或高 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if int(d_width) >= 0 or int(d_height) >= 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 播放量 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,60 +77,60 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取关注用户列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def follow_person_list(cls): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def follow_person_list(cls, log_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if len(Feishu.get_values_batch("person-logs", "xiaoniangao", "oNpThi")) == 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("暂无定向爬取账号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if len(Feishu.get_values_batch(log_type, "xiaoniangao", "oNpThi")) == 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("暂无定向爬取账号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 person_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 nick_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for i in range(2, len(Feishu.get_values_batch("person-logs", "xiaoniangao", "oNpThi")) + 1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for i in range(2, len(Feishu.get_values_batch(log_type, "xiaoniangao", "oNpThi")) + 1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     profile_mid = Feishu.get_range_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        "person-logs", "xiaoniangao", "oNpThi", "B" + str(i) + ":" + "B" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        log_type, "xiaoniangao", "oNpThi", "B" + str(i) + ":" + "B" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     nick = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Feishu.get_range_value("person-logs", "xiaoniangao", "oNpThi", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Feishu.get_range_value(log_type, "xiaoniangao", "oNpThi", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                "C" + str(i) + ":" + "C" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     nick_list.append(nick) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     person_list.append(profile_mid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("已获取用户列表:{}", nick_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("已获取用户列表:{}", nick_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return person_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Common.person_logger().error("获取用户列表异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Common.logger(log_type).error("获取用户列表异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取取消关注用户列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def unfollow_person_list(cls): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def unfollow_person_list(cls, log_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if len(Feishu.get_values_batch("person-logs", "xiaoniangao", "tuMNhn")) == 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("暂无定向账号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if len(Feishu.get_values_batch(log_type, "xiaoniangao", "tuMNhn")) == 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("暂无定向账号") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 unfollow_person_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 nick_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for i in range(2, len(Feishu.get_values_batch("person-logs", "xiaoniangao", "tuMNhn")) + 1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for i in range(2, len(Feishu.get_values_batch(log_type, "xiaoniangao", "tuMNhn")) + 1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     profile_mid = Feishu.get_range_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        "person-logs", "xiaoniangao", "tuMNhn", "B" + str(i) + ":" + "B" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        log_type, "xiaoniangao", "tuMNhn", "B" + str(i) + ":" + "B" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     nick = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Feishu.get_range_value("person-logs", "xiaoniangao", "tuMNhn", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Feishu.get_range_value(log_type, "xiaoniangao", "tuMNhn", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                "C" + str(i) + ":" + "C" + str(i))[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     nick_list.append(nick) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     unfollow_person_list.append(profile_mid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("取消关注用户列表:{}", nick_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("取消关注用户列表:{}", nick_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return unfollow_person_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Common.person_logger().error("获取用户列表异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Common.logger(log_type).error("获取用户列表异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 关注列表中的用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def sub_persons(cls): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        profile_mids = cls.follow_person_list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def sub_persons(cls, log_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        profile_mids = cls.follow_person_list(log_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for profile_mid in profile_mids: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             url = "https://api.xiaoniangao.cn/V1/account/sub_user" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -176,18 +176,17 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "wx_ver": "8.0.20", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "code_ver": "3.62.0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 urllib3.disable_warnings() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 r = requests.post(headers=headers, url=url, json=data, proxies=proxies, verify=False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("关注用户:{},{}", profile_mid, r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("关注用户:{},{}", profile_mid, r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().error("关注用户异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).error("关注用户异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 取消关注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def unsub_persons(cls): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        unsub_profile_mids = cls.unfollow_person_list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def unsub_persons(cls, log_type): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        unsub_profile_mids = cls.unfollow_person_list(log_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for profile_mid in unsub_profile_mids: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             url = "https://api.xiaoniangao.cn/V1/account/unsub_user" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -232,17 +231,16 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "proj": "ma", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "wx_ver": "8.0.20", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "code_ver": "3.64.1"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 urllib3.disable_warnings() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 r = requests.post(headers=headers, url=url, json=data, proxies=proxies, verify=False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("取消关注:{},{}", profile_mid, r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("取消关注:{},{}", profile_mid, r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().error("取消关注异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).error("取消关注异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 从关注列表获取视频,并下载符合规则的视频,再进行上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def download_from_sub(cls, endtime): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def download_from_sub(cls, log_type, endtime): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         url = "https://api.xiaoniangao.cn/album/get_user_trends" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         headers = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "x-b3-traceid": cls.person_x_b3_traceid, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -302,18 +300,18 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .replace(":", "").replace("*", "").replace("?", "") \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .replace("?", "").replace('"', "").replace("<", "") \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .replace(">", "").replace("|", "").replace(" ", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("标题:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 用户名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 user_name = feeds[i]["user"]["nick"].strip().replace("\n", "") \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .replace("/", "").replace("快手", "").replace(" ", "") \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .replace(" ", "").replace("&NBSP", "").replace("\r", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("用户名:{}", user_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 视频 ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_id = feeds[i]["vid"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("视频ID:{}", video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 播放量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_play_cnt = feeds[i]["play_pv"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("播放量:{}", video_play_cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 评论数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_comment_cnt = feeds[i]["comment_count"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 点赞 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -324,8 +322,7 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_duration = int(feeds[i]["du"] / 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 发布时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_send_time = feeds[i]["t"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    "发布时间:{}", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(video_send_time) / 1000))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 宽和高 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_width = feeds[i]["w"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_height = feeds[i]["h"] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,32 +336,39 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 cover_url = feeds[i]["url"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 视频播放地址 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 video_url = feeds[i]["v_url"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Common.person_logger().info("播放地址:{}", video_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("标题:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("视频ID:{}", video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("用户名:{}", user_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("播放量:{}", video_play_cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "发布时间:{}", time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(int(video_send_time) / 1000))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Common.logger(log_type).info("播放地址:{}", video_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 过滤无效视频 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if video_id == "" or video_url == "" or video_send_time == "": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("无效视频") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("无效视频") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 elif int(video_send_time) < endtime: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("发布时间超过 48 小时") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("发布时间超过 48 小时") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 elif cls.download_rule( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         video_duration, video_width, video_height, video_play_cnt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         video_like_cnt, video_share_cnt, video_send_time) is False: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("不满足基础门槛规则") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("不满足基础门槛规则") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 过滤敏感词 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                elif any(word if word in video_title else False for word in cls.sensitive_words()) is True: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("视频已中敏感词:{}".format(video_title)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                elif any(word if word in video_title else False for word in cls.sensitive_words(log_type)) is True: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("视频已中敏感词:{}".format(video_title)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 从 云文档 去重:https://w42nne6hzg.feishu.cn/sheets/shtcnYxiyQ1wLklo1W5Kdqc9cGh?sheet=yatRv2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                elif video_id in [j for i in Feishu.get_values_batch("person-logs", "xiaoniangao", "yatRv2") for j in i]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("该视频已下载:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                elif video_id in [j for i in Feishu.get_values_batch(log_type, "xiaoniangao", "yatRv2") for j in i]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("该视频已下载:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 满足抓取规则 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("开始下载视频:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("开始下载视频:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 下载封面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Common.download_method( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        log_path="person-logs", text="cover", d_name=video_title, d_url=cover_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        log_type=log_type, text="cover", d_name=video_title, d_url=cover_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 下载视频 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Common.download_method( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        log_path="person-logs", text="video", d_name=video_title, d_url=video_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        log_type=log_type, text="video", d_name=video_title, d_url=video_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 保存视频信息至 "./videos/{download_video_title}/info.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     with open(r"./videos/" + video_title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               + "/" + "info.txt", "a", encoding="UTF-8") as f_a: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,32 +386,36 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   str(video_url) + "\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   str(cover_url) + "\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   str("xiaoniangao")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("==========视频信息已保存至info.txt==========") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("==========视频信息已保存至info.txt==========") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 上传视频 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("开始上传视频:{}".format(video_title)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Publish.upload_and_publish("prod", "play") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("视频上传完成:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("开始上传视频:{}".format(video_title)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    our_video_id = Publish.upload_and_publish(log_type, "prod", "play") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    # Common.logger(log_type).info("our_video_id:{}", our_video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    our_video_link = "https://admin.piaoquantv.com/cms/post-detail/" + str(our_video_id) + "/info" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    # Common.logger(log_type).info("our_video_link:{}", our_video_link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("视频上传完成:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 上传完成时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     upload_time = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 保存视频信息到云文档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Common.person_logger().info("添加视频到云文档:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("添加视频到云文档:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 插入空行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Feishu.insert_columns("person-logs", "xiaoniangao", "yatRv2", "ROWS", 1, 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Feishu.insert_columns(log_type, "xiaoniangao", "yatRv2", "ROWS", 1, 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     # 视频信息写入云文档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    values = [[time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(upload_time))), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(int(upload_time))), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                "定向账号爬取", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               our_video_link, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_play_cnt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_comment_cnt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_like_cnt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_share_cnt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_duration, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                str(video_width) + "*" + str(video_height), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(video_send_time) / 1000)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(int(video_send_time) / 1000)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                user_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                profile_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                profile_mid, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -415,10 +423,29 @@ class Person: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                cover_url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                video_url]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     time.sleep(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Feishu.update_values("person-logs", "xiaoniangao", "yatRv2", "A2:Q2", values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Feishu.update_values(log_type, "xiaoniangao", "yatRv2", "F2:W2", values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    # 保存视频信息到监控表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Common.logger(log_type).info("添加视频到监控表:{}", video_title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    # 插入空行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    time.sleep(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Feishu.insert_columns(log_type, "monitor", "N7e2yI", "ROWS", 1, 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    # 视频信息写入监控表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    values = [[time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(int(upload_time))), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               video_title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               our_video_link, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               profile_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               profile_mid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               user_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               video_duration, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(int(video_send_time) / 1000)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               video_play_cnt]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    time.sleep(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Feishu.update_values(log_type, "monitor", "N7e2yI", "F2:O2", values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return int(video_send_time) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Common.person_logger().error("请求关注列表异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Common.logger(log_type).error("下载/上传视频异常:{}", e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __name__ == "__main__": 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -427,4 +454,9 @@ if __name__ == "__main__": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # person.download_person_videos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # person.sub_persons() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # print(person.unfollow_person_list()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    person.unsub_persons() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # person.unsub_persons() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(person.person_uid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(person.person_token) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(person.person_referer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(person.person_x_token_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print(person.person_x_b3_traceid) 
			 |