当前位置: 首页 > news >正文

国外优秀网站谷歌浏览器下载安装2022

国外优秀网站,谷歌浏览器下载安装2022,网站注册账号有风险吗,优秀设计平台🙋‍♀️Tiktok APP的基于关键字检索的视频及评论信息爬虫共分为两期,希望对大家有所帮助。 第一期:基于关键字检索的视频信息爬取 第二期见下文。 1.Node.js环境配置 首先配置 JavaScript 运行环境(如 Node.js)&…

🙋‍♀️Tiktok APP的基于关键字检索的视频及评论信息爬虫共分为两期,希望对大家有所帮助。
第一期:基于关键字检索的视频信息爬取
第二期见下文。

1.Node.js环境配置

首先配置 JavaScript 运行环境(如 Node.js),用于执行加密签名代码。
Node.js下载网址:https://nodejs.org/en
Node.js的安装方法(环境配置非常关键,决定了后面的程序是否可以使用):https://blog.csdn.net/liufeifeihuawei/article/details/132425239

2. Py环境配置

import random
from tqdm import tqdm
import requests
from urllib.parse import urlparse, urlencode
import warnings
from urllib3.exceptions import InsecureRequestWarning
import time# 忽略 InsecureRequestWarning 警告
warnings.filterwarnings("ignore", category=InsecureRequestWarning)

3. 基于视频URL的评论信息爬取

在上期中,已经给出了如何获得指定视频的URL,下面给出根据URL获得视频评论的信息,允许在爬取的过程中对评论进行翻页

1. 主程序

爬单个URL的评论信息的方法:

if __name__ == '__main__':'''单条数据'''req_url = "https://www.tiktok.com/@resep_debm/video/7475545671383174406"tiktok_comment = TiktokComment()x = tiktok_comment.get_comment_list(req_url)print(x)

爬多个URL的评论信息的方法。通过读取videosInfo.json文件中保存的URL信息,将最后的结果保存到videos_comments.json文件中:

if __name__ == '__main__':'''多条数据'''data = read_json('../results/videosInfo.json')print(len(data))tiktok_comment = TiktokComment()new_data = data.copy()for i in tqdm(range(len(data))):if 'comments' not in data[i].keys():  #  and i > 1695comments = tiktok_comment.get_comment_list(data[i]['video_url'])if comments != []:new_data[i]['comments'] = commentselse:continueif i % 10 == 0:write_json('../results/videos_comments.json', new_data)# 循环结束后再保存一次,确保所有数据都被写入write_json('../results/videos_comments.json', new_data)

2. 定义TiktokComments类
允许获得的评论信息7个字段,包括:
🎰评论ID;
💬评论内容;
🙋评论是否被作者点赞;
😍评论是否热门;
👍评论的点赞数
👀评论的回复数目
⌛评论发布的时间;

class TiktokComments:def __init__(self):# self.config = read_config()self.common_utils = CommonUtils()self.cookies = cookie_str_to_dict(read_cookie())# self.proxies = self.config.get("proxies", None)  # 代理配置self.comment_list_headers = {'sec-ch-ua': '"Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"','sec-ch-ua-mobile': '?0','User-Agent': self.common_utils.user_agent,'sec-ch-ua-platform': '"Windows"','Accept': '*/*','Sec-Fetch-Site': 'same-origin','Sec-Fetch-Mode': 'cors','Sec-Fetch-Dest': 'empty','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',}

通过 cursor_num设置翻页,count={comment_num}表示希望获得的评论总数目。

    def get_comment_list(self, video_url, comments_num=100):aweme_id = urlparse(video_url).path.split("/")[-1]ms_token = self.cookies['msToken']req_comments = []max_retries = 3  # 最大重试次数for i in range(comments_num // 20):cursor_num = i * 20comment_num = 20req_url = f"https://www.tiktok.com/api/comment/list/?WebIdLastTime=1715249710&aid=1988&app_language=ja-JP&app_name=tiktok_web&aweme_id={aweme_id}&browser_language=zh-CN&browser_name=Mozilla&browser_online=true&browser_platform=Win32&browser_version=5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F123.0.0.0%20Safari%2F537.36&channel=tiktok_web&cookie_enabled=true&" \f"count={comment_num}&current_region=JP&cursor={cursor_num}&device_id=7366941338308609569&device_platform=web_pc&enter_from=tiktok_web&focus_state=true&fromWeb=1&from_page=video&history_len=2&is_fullscreen=false&is_non_personalized=false&is_page_visible=true&odinId=7367172442253296673&os=windows&priority_region=&referer=&region=GB&screen_height=1080&screen_width=1920&tz_name=Asia%2FShanghai&webcast_language=zh-Hans&msToken={ms_token}"xbogus = self.common_utils.get_xbogus(req_url, self.common_utils.user_agent)req_url += f'&X-Bogus={xbogus}&_signature=_02B4Z6wo000016M20awAAIDAnp.LMKuZmC-jNtUAAI6L17'for retry in range(max_retries):try:response = requests.request('GET',req_url,headers=self.comment_list_headers,# cookies=self.cookies,verify=False,timeout=random.randint(3, 7),# proxies=self.proxies)if response.status_code != 200:continuereq_json = response.json()comments = req_json.get('comments', [])# print(f"评论数目:{req_json.get('total')}")if not comments:print(f"No comments found for cursor {cursor_num}.")breakfor comment_item in comments:req_comments.append({"cid": comment_item.get('cid'),"comment": comment_item.get('text'),"comments_is_author_like": comment_item.get('is_author_digged'),"comments_is_hot": comment_item.get('is_comment_translatable'),"comments_like": comment_item.get('digg_count'),"comments_reply": comment_item.get('reply_comment_total'),"comments_time": comment_item.get('create_time')})break  # 成功获取数据,退出重试循环except Exception as e:print(f"Error: {e}. Retrying ({retry + 1}/{max_retries})...")if retry == max_retries - 1:print("Max retries reached. Skipping this request.")return req_comments
http://www.dtcms.com/a/604694.html

相关文章:

  • 全国知名网站建设wordpress 站点错误
  • 网站开发程序介绍佛山网页设计怎么做
  • 手机网站建设费用自建房平台设计
  • 最专业的营销网站建设做网站不给钱
  • 新乡公司网站建设wordpress5.2自动保存
  • 保亭交通工程建设局网站网站首页被降权怎么做
  • 网站建设 需要注意什么外链推广平台
  • 城关区建设局网站什么是搜索引擎推广
  • 广州城市职业学院门户网站jsp网站建设项目实战课后
  • 东莞建网站公司平台邢台123生活最新帖子
  • 平台网站建设 厦门wordpress 函数教程视频
  • 免费发短信的在线网站遵义住房和城乡建设厅网站
  • 一些你不知道的网站工程建筑公司
  • 主备网站服务器自动切换 win2003wordpress列表分页 js
  • 网站多大够用wordpress运行php 404错误
  • 网站的运营方式西安网络建设公司
  • 新公司网站设计注意事项个人网站有什么
  • 怎么建设一个网站赚钱一般通过微信号添加的微信好友
  • 旅游扁平化设计网站模板上海建设部网站首页
  • 湖北企业响应式网站建设价位加快wordpress图片的插件
  • 哪些网站设计的高大上学会建设网站必要性
  • 有哪些做包装设计网站好些卷帘门怎么做网站
  • 装企工长网站开发新品发布会策划方案ppt
  • 网站建设html模板下载wordpress分只显示标题
  • 做网站的网址怎么弄电商网站html模板
  • 温州合作网站手机网站相关
  • 互联网App网站建设方案建网站需要营业执照吗
  • 唯品会网站建设数据安全分析wordpress贝宝插件
  • 做网站必须要有服务器吗中山最好的网站建设公司哪家好
  • 建个简单的网站网站管理的内容包括