def __grab_comment(self, aweme_id, cursor, upvote_bound=10): url = URL.comment_url() comment_params = copy.deepcopy(self.__COMMENT_LIST_PARAMS) comment_params['aweme_id'] = aweme_id comment_params['cursor'] = cursor params = {**comment_params, **self.common_params} real_url = gen_url(self.token, url, params) cookies = self.__COOKIES cookies['install_id'] = str(self.__device["install_id"]) resp = requests.get(real_url, verify=False, cookies=cookies, headers=self.__HEADERS) comment_content = json.loads(resp.content.decode("utf-8")) comments = comment_content.get("comments") for per_comment in comments: is_reply = per_comment.get("reply_comment") if is_reply: upvote_count = is_reply[0].get("digg_count") comment_info = { "text": is_reply[0].get("text"), "upvote_count": upvote_count, "nick_name": is_reply[0]['user'].get("nickname"), "user_id": is_reply[0]['user'].get("uid"), } else: upvote_count = per_comment.get("digg_count") comment_info = { "text": per_comment.get("text"), "upvote_count": upvote_count, "nick_name": per_comment['user'].get("nickname"), "user_id": per_comment['user'].get("uid"), } if int(upvote_count) < upvote_bound: return -2 self.download_comment(aweme_id, **comment_info) # print(text,upvote_count,nick_name,user_id) hasmore = int(comment_content.get("hasmore")) return hasmore
def __grab_comment(self, aweme_id, cursor, upvote_bound=10): comment_params = copy.deepcopy(self.__COMMENT_LIST_PARAMS) comment_params['aweme_id'] = aweme_id comment_params['cursor'] = cursor query_params = {**comment_params, **self.common_params} sign = getSign(self.__get_token(), query_params) params = {**query_params, **sign} resp = requests.get(URL.comment_url(), params=params, verify=False, headers=self.__HEADERS) comment_content = resp.json() comments = comment_content.get("comments") for per_comment in comments: is_reply = per_comment.get("reply_comment") if is_reply: upvote_count = is_reply[0].get("digg_count") comment_info = { "text": is_reply[0].get("text"), "upvote_count": upvote_count, "nick_name": is_reply[0]['user'].get("nickname"), "user_id": is_reply[0]['user'].get("uid"), } else: upvote_count = per_comment.get("digg_count") comment_info = { "text": per_comment.get("text"), "upvote_count": upvote_count, "nick_name": per_comment['user'].get("nickname"), "user_id": per_comment['user'].get("uid"), } print(upvote_count) if int(upvote_count) < upvote_bound: return -2 self.download_comment(aweme_id, **comment_info) # print(text,upvote_count,nick_name,user_id) hasmore = int(comment_content.get("hasmore")) return hasmore