wangkun 2 سال پیش
والد
کامیت
f38433816e
2فایلهای تغییر یافته به همراه82 افزوده شده و 82 حذف شده
  1. 4 4
      main/run_person_list.py
  2. 78 78
      main/xiaoniangao_person_list.py

+ 4 - 4
main/run_person_list.py

@@ -15,10 +15,10 @@ class Main:
     def main(cls):
         while True:
             Common.logger("person").info("开始抓取个人主页视频\n")
-            # 关注用户
-            Person.sub_users("person")
-            # 取消关注用户
-            Person.unsub_users("person")
+            # # 关注用户
+            # Person.sub_users("person")
+            # # 取消关注用户
+            # Person.unsub_users("person")
             # 关注用户列表同步至云文档,获取所有关注列表的用户视频
             Person.get_videos_from_follow("person")
             # 下载/上传

+ 78 - 78
main/xiaoniangao_person_list.py

@@ -73,81 +73,81 @@ class Person:
         else:
             return False
 
-    # 从小程序中,关注用户列表同步至云文档
-    @classmethod
-    def get_sub_or_fans_list(cls, log_type):
-        try:
-            follow_list = []
-            follow_sheet = Feishu.get_values_batch(log_type, "xiaoniangao", "oNpThi")
-            url = "https://api.xiaoniangao.cn/account/get_sub_or_fans_list"
-            headers = {
-                "X-Mid": str(cls.follow_x_mid),
-                "X-Token-Id": str(cls.follow_x_token_id),
-                "content-type": "application/json",
-                "uuid": str(cls.follow_uid),
-                "Accept-Encoding": "gzip,compress,br,deflate",
-                "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)"
-                              " AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 "
-                              "MicroMessenger/8.0.20(0x18001435) NetType/WIFI Language/zh_CN",
-                "Referer": str(cls.follow_referer)
-            }
-            json_text = {
-                "visited_mid": str(cls.follow_x_mid),
-                "start_t": cls.wechat_follow_start_t,
-                "limit": 20,
-                "h_qs": "imageMogr2/gravity/center/rotate/$/thumbnail/!84x84r/crop/84x84/interlace/1/format/jpg",
-                "type": 1,
-                "token": str(cls.follow_token),
-                "uid": str(cls.follow_uid),
-                "proj": "ma",
-                "wx_ver": "8.0.23",
-                "code_ver": "3.68.0",
-                "log_common_params": {
-                    "e": [{
-                        "data": {
-                            "page": "followFansPage"
-                        }
-                    }],
-                    "ext": {
-                        "brand": "iPhone",
-                        "device": "iPhone 11",
-                        "os": "iOS 14.7.1",
-                        "weixinver": "8.0.23",
-                        "srcver": "2.24.7",
-                        "net": "wifi",
-                        "scene": "1089"
-                    },
-                    "pj": "1",
-                    "pf": "2",
-                    "session_id": "7468cf52-00ea-432e-8505-6ea3ad7ec164"
-                }
-            }
-            r = requests.post(url=url, headers=headers, json=json_text, proxies=proxies, verify=False)
-            if "data" not in r.json():
-                Common.logger(log_type).warning("从小程序中获取关注用户列表:{}", r.text)
-            else:
-                users = r.json()["data"]["list"]
-                for i in range(len(users)):
-                    profile_mid = users[i]["mid"]
-                    nick = users[i]["nick"]
-                    follow_list.append(profile_mid)
-                    # 同步已关注的用户至云文档
-                    if profile_mid not in [j for i in follow_sheet for j in i]:
-                        Feishu.insert_columns(log_type, "xiaoniangao", "oNpThi", "ROWS", 1, 2)
-                        time.sleep(1)
-                        values = [[profile_mid, nick]]
-                        Feishu.update_values(log_type, "xiaoniangao", "oNpThi", "B2:C2", values)
-                    else:
-                        Common.logger(log_type).info("用户:{},在云文档中已存在", nick)
-            cls.wechat_follow_start_t = r.json()["data"]["next_t"]
-            # 翻页,直至到底了
-            if cls.wechat_follow_start_t != 0:
-                cls.get_sub_or_fans_list(log_type)
-            else:
-                Common.logger(log_type).info("从小程序中同步关注用户至云文档完成\n")
-            return follow_list
-        except Exception as e:
-            Common.logger(log_type).error("从小程序中,关注用户列表同步至云文档异常:{}", e)
+    # # 从小程序中,关注用户列表同步至云文档
+    # @classmethod
+    # def get_sub_or_fans_list(cls, log_type):
+    #     try:
+    #         follow_list = []
+    #         follow_sheet = Feishu.get_values_batch(log_type, "xiaoniangao", "oNpThi")
+    #         url = "https://api.xiaoniangao.cn/account/get_sub_or_fans_list"
+    #         headers = {
+    #             "X-Mid": str(cls.follow_x_mid),
+    #             "X-Token-Id": str(cls.follow_x_token_id),
+    #             "content-type": "application/json",
+    #             "uuid": str(cls.follow_uid),
+    #             "Accept-Encoding": "gzip,compress,br,deflate",
+    #             "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)"
+    #                           " AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 "
+    #                           "MicroMessenger/8.0.20(0x18001435) NetType/WIFI Language/zh_CN",
+    #             "Referer": str(cls.follow_referer)
+    #         }
+    #         json_text = {
+    #             "visited_mid": str(cls.follow_x_mid),
+    #             "start_t": cls.wechat_follow_start_t,
+    #             "limit": 20,
+    #             "h_qs": "imageMogr2/gravity/center/rotate/$/thumbnail/!84x84r/crop/84x84/interlace/1/format/jpg",
+    #             "type": 1,
+    #             "token": str(cls.follow_token),
+    #             "uid": str(cls.follow_uid),
+    #             "proj": "ma",
+    #             "wx_ver": "8.0.23",
+    #             "code_ver": "3.68.0",
+    #             "log_common_params": {
+    #                 "e": [{
+    #                     "data": {
+    #                         "page": "followFansPage"
+    #                     }
+    #                 }],
+    #                 "ext": {
+    #                     "brand": "iPhone",
+    #                     "device": "iPhone 11",
+    #                     "os": "iOS 14.7.1",
+    #                     "weixinver": "8.0.23",
+    #                     "srcver": "2.24.7",
+    #                     "net": "wifi",
+    #                     "scene": "1089"
+    #                 },
+    #                 "pj": "1",
+    #                 "pf": "2",
+    #                 "session_id": "7468cf52-00ea-432e-8505-6ea3ad7ec164"
+    #             }
+    #         }
+    #         r = requests.post(url=url, headers=headers, json=json_text, proxies=proxies, verify=False)
+    #         if "data" not in r.json():
+    #             Common.logger(log_type).warning("从小程序中获取关注用户列表:{}", r.text)
+    #         else:
+    #             users = r.json()["data"]["list"]
+    #             for i in range(len(users)):
+    #                 profile_mid = users[i]["mid"]
+    #                 nick = users[i]["nick"]
+    #                 follow_list.append(profile_mid)
+    #                 # 同步已关注的用户至云文档
+    #                 if profile_mid not in [j for i in follow_sheet for j in i]:
+    #                     Feishu.insert_columns(log_type, "xiaoniangao", "oNpThi", "ROWS", 1, 2)
+    #                     time.sleep(1)
+    #                     values = [[profile_mid, nick]]
+    #                     Feishu.update_values(log_type, "xiaoniangao", "oNpThi", "B2:C2", values)
+    #                 else:
+    #                     Common.logger(log_type).info("用户:{},在云文档中已存在", nick)
+    #         cls.wechat_follow_start_t = r.json()["data"]["next_t"]
+    #         # 翻页,直至到底了
+    #         if cls.wechat_follow_start_t != 0:
+    #             cls.get_sub_or_fans_list(log_type)
+    #         else:
+    #             Common.logger(log_type).info("从小程序中同步关注用户至云文档完成\n")
+    #         return follow_list
+    #     except Exception as e:
+    #         Common.logger(log_type).error("从小程序中,关注用户列表同步至云文档异常:{}", e)
 
     # 从云文档获取关注用户列表
     @classmethod
@@ -557,7 +557,8 @@ class Person:
     def get_videos_from_follow(cls, log_type):
         try:
             # 已关注的用户列表 mids
-            profile_mids = cls.get_sub_or_fans_list(log_type)
+            profile_mids = cls.get_follow_users(log_type)
+            # Common.logger(log_type).info('profile_mids:{}', profile_mids)
             for profile_mid in profile_mids:
                 Common.logger(log_type).info("获取用户:{}主页视频\n", profile_mid)
                 cls.get_videos_from_person(log_type, profile_mid)
@@ -713,6 +714,5 @@ class Person:
 
 if __name__ == "__main__":
     person = Person()
-    person.download_publish("person", "prod")
-
+    person.get_videos_from_follow('person')
     pass