|
@@ -43,71 +43,57 @@ class GongzhonghaoAuthor1:
|
|
|
"update_time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(configs[0]["update_time"]/1000))),
|
|
|
"operator": configs[0]["operator"].strip()
|
|
|
}
|
|
|
- # for k, v in token_dict.items():
|
|
|
- # print(f"{k}:{v}")
|
|
|
+ for k, v in token_dict.items():
|
|
|
+ print(f"{k}:{type(v)}, {v}")
|
|
|
return token_dict
|
|
|
|
|
|
@classmethod
|
|
|
- def get_users(cls, log_type, crawler, sheetid, env):
|
|
|
- while True:
|
|
|
- user_sheet = Feishu.get_values_batch(log_type, crawler, sheetid)
|
|
|
- if user_sheet is None:
|
|
|
- Common.logger(log_type, crawler).warning(f"user_sheet:{user_sheet}, 2秒后重试")
|
|
|
- time.sleep(2)
|
|
|
- continue
|
|
|
- user_list = []
|
|
|
- len_sheet = len(user_sheet)
|
|
|
- if len_sheet >= 101:
|
|
|
- len_sheet = 101
|
|
|
- Common.logger(log_type, crawler).info(f"len_sheet:{len_sheet}")
|
|
|
- for i in range(1, len_sheet):
|
|
|
- # for i in range(1, 3):
|
|
|
- user_name = user_sheet[i][0]
|
|
|
- wechat_name = user_sheet[i][2]
|
|
|
- if wechat_name is None:
|
|
|
- wechat_name = user_name
|
|
|
- our_uid = user_sheet[i][5]
|
|
|
- our_user_link = user_sheet[i][6]
|
|
|
- user_info_dict = cls.get_user_info(log_type=log_type, crawler=crawler, wechat_name=wechat_name, env=env)
|
|
|
- out_uid = user_info_dict["user_id"]
|
|
|
- avatar_url = user_info_dict["avatar_url"]
|
|
|
- tag1 = user_sheet[i][7]
|
|
|
- tag2 = user_sheet[i][8]
|
|
|
- tag3 = user_sheet[i][9]
|
|
|
- tag4 = user_sheet[i][10]
|
|
|
- tag5 = user_sheet[i][11]
|
|
|
- tag6 = user_sheet[i][12]
|
|
|
- Common.logger(log_type, crawler).info(f"正在更新第{i}个用户:{user_name}")
|
|
|
- if out_uid is None or our_uid is None:
|
|
|
- # 用来创建our_id的信息
|
|
|
- user_dict = {
|
|
|
- 'recommendStatus': -6,
|
|
|
- 'appRecommendStatus': -6,
|
|
|
- 'nickName': user_info_dict["user_name"],
|
|
|
- 'avatarUrl': user_info_dict['avatar_url'],
|
|
|
- 'tagName': f'{tag1},{tag2},{tag3},{tag4},{tag5},{tag6}',
|
|
|
- }
|
|
|
- our_uid = getUser.create_uid(log_type, crawler, user_dict, env)
|
|
|
- Common.logger(log_type, crawler).info(f'新创建的站内UID:{our_uid}')
|
|
|
- if env == 'prod':
|
|
|
- our_user_link = f'https://admin.piaoquantv.com/ums/user/{our_uid}/post'
|
|
|
- else:
|
|
|
- our_user_link = f'https://testadmin.piaoquantv.com/ums/user/{our_uid}/post'
|
|
|
- Feishu.update_values(log_type, crawler, sheetid, f'D{i+1}:G{i+1}', [[user_info_dict["user_id"], user_info_dict["avatar_url"], our_uid, our_user_link]])
|
|
|
- Common.logger(log_type, crawler).info(f'用户信息创建成功!\n')
|
|
|
- else:
|
|
|
- Common.logger(log_type, crawler).info("用户信息已存在\n")
|
|
|
- our_user_dict = {
|
|
|
- 'user_name': user_name,
|
|
|
- 'user_id': out_uid,
|
|
|
- 'wechat_name': wechat_name,
|
|
|
- 'our_uid': our_uid,
|
|
|
- 'our_user_link': our_user_link,
|
|
|
- 'avatar_url': avatar_url,
|
|
|
- }
|
|
|
- user_list.append(our_user_dict)
|
|
|
-
|
|
|
- return user_list
|
|
|
+ def create_user(cls, log_type, crawler, user_sheet, i, env):
|
|
|
+ user_name = user_sheet[i][0]
|
|
|
+ wechat_name = user_sheet[i][2]
|
|
|
+ if wechat_name is None:
|
|
|
+ wechat_name = user_name
|
|
|
+ our_uid = user_sheet[i][5]
|
|
|
+ our_user_link = user_sheet[i][6]
|
|
|
+ user_info_dict = cls.get_user_info(log_type=log_type, crawler=crawler, wechat_name=wechat_name, env=env)
|
|
|
+ out_uid = user_info_dict["user_id"]
|
|
|
+ avatar_url = user_info_dict["avatar_url"]
|
|
|
+ tag1 = user_sheet[i][7]
|
|
|
+ tag2 = user_sheet[i][8]
|
|
|
+ tag3 = user_sheet[i][9]
|
|
|
+ tag4 = user_sheet[i][10]
|
|
|
+ tag5 = user_sheet[i][11]
|
|
|
+ tag6 = user_sheet[i][12]
|
|
|
+ Common.logger(log_type, crawler).info(f"正在更新 {user_name} 用户信息")
|
|
|
+ if out_uid is None or our_uid is None:
|
|
|
+ # 用来创建our_id的信息
|
|
|
+ user_dict = {
|
|
|
+ 'recommendStatus': -6,
|
|
|
+ 'appRecommendStatus': -6,
|
|
|
+ 'nickName': user_info_dict["user_name"],
|
|
|
+ 'avatarUrl': user_info_dict['avatar_url'],
|
|
|
+ 'tagName': f'{tag1},{tag2},{tag3},{tag4},{tag5},{tag6}',
|
|
|
+ }
|
|
|
+ our_uid = getUser.create_uid(log_type, crawler, user_dict, env)
|
|
|
+ Common.logger(log_type, crawler).info(f'新创建的站内UID:{our_uid}')
|
|
|
+ if env == 'prod':
|
|
|
+ our_user_link = f'https://admin.piaoquantv.com/ums/user/{our_uid}/post'
|
|
|
+ else:
|
|
|
+ our_user_link = f'https://testadmin.piaoquantv.com/ums/user/{our_uid}/post'
|
|
|
+ Feishu.update_values(log_type, crawler, "Bzv72P", f'D{i + 1}:G{i + 1}', [
|
|
|
+ [user_info_dict["user_id"], user_info_dict["avatar_url"], our_uid, our_user_link]])
|
|
|
+ Common.logger(log_type, crawler).info(f'用户信息创建成功!\n')
|
|
|
+ else:
|
|
|
+ Common.logger(log_type, crawler).info("用户信息已存在\n")
|
|
|
+ our_user_dict = {
|
|
|
+ 'user_name': user_name,
|
|
|
+ 'user_id': out_uid,
|
|
|
+ 'wechat_name': wechat_name,
|
|
|
+ 'our_uid': our_uid,
|
|
|
+ 'our_user_link': our_user_link,
|
|
|
+ 'avatar_url': avatar_url,
|
|
|
+ }
|
|
|
+ return our_user_dict
|
|
|
|
|
|
# 获取用户 fakeid
|
|
|
@classmethod
|
|
@@ -472,22 +458,29 @@ class GongzhonghaoAuthor1:
|
|
|
|
|
|
@classmethod
|
|
|
def get_all_videos(cls, log_type, crawler, rule_dict, env):
|
|
|
- user_list = cls.get_users(log_type, crawler, "Bzv72P", env)
|
|
|
- if len(user_list) == 0:
|
|
|
- Common.logger(log_type, crawler).warning(f"抓取用户列表为空\n")
|
|
|
- return
|
|
|
- for user_dict in user_list:
|
|
|
- # try:
|
|
|
- Common.logger(log_type, crawler).info(f'获取 {user_dict["user_name"]} 公众号视频\n')
|
|
|
- cls.get_videoList(log_type=log_type,
|
|
|
- crawler=crawler,
|
|
|
- rule_dict=rule_dict,
|
|
|
- user_dict=user_dict,
|
|
|
- env=env)
|
|
|
- Common.logger(log_type, crawler).info('休眠 60 秒\n')
|
|
|
- time.sleep(60)
|
|
|
- # except Exception as e:
|
|
|
- # Common.logger(log_type, crawler).info(f'抓取{user_dict["user_name"]}公众号时异常:{e}\n')
|
|
|
+ while True:
|
|
|
+ user_sheet = Feishu.get_values_batch(log_type, crawler, "Bzv72P")
|
|
|
+ if user_sheet is None:
|
|
|
+ Common.logger(log_type, crawler).warning(f"user_sheet:{user_sheet}, 2秒后重试")
|
|
|
+ time.sleep(2)
|
|
|
+ continue
|
|
|
+ len_sheet = len(user_sheet)
|
|
|
+ if len_sheet >= 101:
|
|
|
+ len_sheet = 101
|
|
|
+ Common.logger(log_type, crawler).info(f"len_sheet:{len_sheet}")
|
|
|
+ for i in range(1, len_sheet):
|
|
|
+ user_dict = cls.create_user(log_type=log_type, crawler=crawler, user_sheet=user_sheet, i=i, env=env)
|
|
|
+ # try:
|
|
|
+ Common.logger(log_type, crawler).info(f'获取 {user_dict["user_name"]} 公众号视频\n')
|
|
|
+ cls.get_videoList(log_type=log_type,
|
|
|
+ crawler=crawler,
|
|
|
+ rule_dict=rule_dict,
|
|
|
+ user_dict=user_dict,
|
|
|
+ env=env)
|
|
|
+ Common.logger(log_type, crawler).info('休眠 60 秒\n')
|
|
|
+ time.sleep(60)
|
|
|
+ # except Exception as e:
|
|
|
+ # Common.logger(log_type, crawler).info(f'抓取{user_dict["user_name"]}公众号时异常:{e}\n')
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|