🎁 惊喜折扣:订阅享受 1折优惠!

⚡️ Nstproxy - 超过1.1亿IP地址,助力闪电般快速的数据抓取与自动化,起价仅需0.1美元/GB。

  • 价钱
  • 文档
ZH
联系

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

产品

指纹浏览器
Nstbrowser RPA
绕过Cloudflare
网页解锁器

解决方案

云端指纹浏览器
多账户管理
网页抓取&自动化
反机器人检测

资源

价格
下载
RPA 市场
联盟计划
合作伙伴
博客
版本更新

支持

联系

文档

法规

条款
隐私政策
Cookie 政策

产品解决方案资源支持法规

产品解决方案资源

支持法规

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

返回博客
使用 Nstbrowser docker 进行 TikTok 自动点赞
Headless Browser

如何使用Nstbrowser docker进行抖音自动点赞?

本教程演示如何使用 Nstbrowser docker 进行 TikTok 自动点赞
Jan 08, 2025Robin Brown

我们为您提供令人难以置信的90%订阅优惠!现在,您可以享受以下无与伦比的价格:

  • 专业版: 仅需 **29.9** /月(原价299)
  • 企业版: 仅需 **59.9** /月(原价599)

更重要的是,您将通过自动续订继续享受这些折扣!无需额外步骤——您的折扣将在续订时自动应用。

立即获取您的专属折扣!

前提条件

在开始教程之前,让我们首先了解Nstbrowser和Nstbrowser docker是什么。

Nstbrowser是一款强大的指纹浏览器,它为每个用户的帐户提供真实的浏览器环境。每个浏览器彼此隔离,可以实现跨平台环境模拟。基于指纹浏览器技术,它可以轻松绕过各种网站的帐户追踪和检测。

Nstbrowser docker是基于Nstbrowser构建的docker镜像。由于本地资源有限,我们可以通过docker轻松地将Nstbrowser部署到云服务。基于云同步功能,我们可以直接在Nstbrowser docker中使用Nstbrowser创建成熟的浏览器环境。

接下来,我们将演示如何使用Nstbrowser docker自动点赞TikTok(注意:TikTok有严格的账户风险控制预防措施,请尽量不要使用新创建的账户)

步骤1. 构建配置文件环境

  1. 创建一个新的配置文件,并在组设置中打开云同步和Cookie同步。在创建配置文件期间根据您的需求配置代理和指纹参数:
构建配置文件环境
构建配置文件环境
  1. 启动配置文件并登录您需要使用的TikTok帐户。您也可以使用Puppeteer脚本登录帐户:
登录TikTok帐户
  1. 关闭已登录的配置文件,您可以看到上传状态,Nstbrowser已将您的配置文件数据同步到云端。
关闭已登录的配置文件

步骤2. 准备Nstbrowser Docker环境

  1. 拉取Nstbrowser docker镜像
Bash Copy
docker pull docker.io/nstbrowser/browserless:latest
  1. 运行容器
Bash Copy
docker run -d -it \
  -e TOKEN="YOUR API KEY" \
  -p 8848:8848 \
  --name nstbrowserless \
  nstbrowser/browserless:latest

步骤3. 构建“点赞”点击脚本

这里我们使用puppeteer-core + axios进行演示

  1. 安装puppeteer-core和axios:
Bash Copy
# pnpm
pnpm i puppeteer-core axios
# yarn
yarn add puppeteer-core axios
# npm
npm i --save puppeteer-core axios
  1. 在docker中启动Nstbrowser

在使用puppeteer连接到Nstbrowser之前,我们需要先启动Nstbrowser,启动界面:http://localhost:8848/start/{profileId}。您可以在官方网站上查看具体的接口细节和参数:

javaScript Copy
const baseUrl = 'localhost:8848'
const profileId = 'YOUR_PROFILEID'

async function startBrowser() {
  const config = {
    "name": "tiktok_star",
    "platform": "windows",
    "kernel": "chrome",
    "kernelMilestone": "130",
    // "proxy": "http://127.0.0.1:8000",   // 你可以自定义代理
    // "fingerprint": {                    // 配置自定义指纹参数
    //     "flags": {
    //         "timezone": "BasedOnIp",
    //         "screen": "Custom"
    //     },
    // },
    // "args": {
    //     "--proxy-bypass-list": "*.nstbrowser.io"  // 配置自定义启动参数
    // }
  };

  return axios.post(`http://${baseUrl}/start/${profileId}`, JSON.stringify((config)), { headers: { 'Content-Type': 'application/json' } })
    .then((response) => {
      if (response.data.code === 200) {
        return true
      }
    })
    .catch((error) => {
      console.error(error);
    });
}
  1. 编写Puppeteer脚本

我们导航到TikTok网站。并通过开发者工具(F12)获取网页中的输入框元素和确定按钮:

编写Puppeteer脚本
编写Puppeteer脚本

输入您要查看的用户内容:

JavaScript Copy
const page = await browser.newPage();
await page.goto('https://www.tiktok.com/');

await page.waitForSelector('input[type=search]') 

await page.type('input[type=search]', 'WillSmith', { delay: '100' })
  1. 获取第一个视频的元素并点击它:
获取第一个视频的元素并点击它
JavaScript Copy
await page.waitForSelector('div.css-1fxbsrz-DivVideoListScrollBar.e10wilco12 > div > div:nth-child(1) a')

await page.click('div.css-1fxbsrz-DivVideoListScrollBar.e10wilco12 > div > div:nth-child(1) a')
  1. 进入视频播放页面

有时,进入播放页面时会默认使用小窗口模式。我们需要恢复窗口:

JavaScript Copy
try {
   await page.waitForSelector('button.e12q9uh55.css-1xiq6b1-Button-ButtonReturn.e1v8cfre0', { timeout: 3000 });
   // close PictureInPicture
   await page.click('button.e12q9uh55.css-1xiq6b1-Button-ButtonReturn.e1v8cfre0')

 } catch (e) {
   console.log("cant find close button")
 }

等待视频播放一段时间后再点赞

等待视频播放
JavaScript Copy
// wait for the video to play for a while
await new Promise(resolve => setTimeout(resolve, 10000));

// give a like
await page.click('button.css-1mizk9b-ButtonActionItem.e1hk3hf90')

然后滑动视频到下一个并重复此操作:

JavaScript Copy
const boundingBox = await page.$('body video').then(el => el.boundingBox());

for (let i = 0; i < 3; i++) {

     // wait for the video to play for a while
     await new Promise(resolve => setTimeout(resolve, 10000));

     // give a like
     await page.click('button.css-1mizk9b-ButtonActionItem.e1hk3hf90')

     // move the mouse to the center of the video
     await page.mouse.move(
       boundingBox.x + boundingBox.width / 2,
       boundingBox.y + boundingBox.height / 2
     );

     // scroll the video down
     await page.mouse.wheel({ deltaY: 100 });
}
  1. 完整的代码如下:
JavaScript Copy
import puppeteer from 'puppeteer-core';
import axios from 'axios';

const baseUrl = 'localhost:8848'
const profileId = 'YOUR_PROFILEID'

async function startBrowser() {
  const config = {
    "name": "tiktok_star",
    "platform": "windows",
    "kernel": "chrome",
    "kernelMilestone": "130",
    // "proxy": "http://127.0.0.1:8000", 
    // "doProxyChecking": false,
    // "fingerprint": {
    //     "flags": {
    //         "timezone": "BasedOnIp",
    //         "screen": "Custom"
    //     },
    // },
    // "args": {
    //     "--proxy-bypass-list": "*.nstbrowser.io"
    // }
  };

  return axios.post(`http://${baseUrl}/start/${profileId}`, JSON.stringify((config)), { headers: { 'Content-Type': 'application/json' } })
    .then((response) => {
      if (response.data.code === 200) {
        return true
      }
    })
    .catch((error) => {
      console.error(error);
    });
}

async function execPuppeteer() {
  try {

    const browser = await puppeteer.connect({
      browserWSEndpoint: `ws://${baseUrl}/connect/${profileId}`
    });

    const page = await browser.newPage();
    await page.goto('https://www.tiktok.com/');

    await page.waitForSelector('input[type=search]')

    await page.type('input[type=search]', 'WillSmith', { delay: '100' })

    await page.click('button[data-e2e=search-box-button]')

    await page.waitForSelector('div.css-1fxbsrz-DivVideoListScrollBar.e10wilco12 > div > div:nth-child(1) a')
    //   div.css-1fxbsrz-DivVideoListScrollBar.e10wilco12
    await page.click('div.css-1fxbsrz-DivVideoListScrollBar.e10wilco12 > div > div:nth-child(1) a')

    try {
      await page.waitForSelector('button.e12q9uh55.css-1xiq6b1-Button-ButtonReturn.e1v8cfre0', { timeout: 3000 });
      // close PictureInPicture
      await page.click('button.e12q9uh55.css-1xiq6b1-Button-ButtonReturn.e1v8cfre0')

    } catch (e) {
      console.log("cant find close button")
    }

    await page.waitForSelector('button[data-e2e=arrow-right]')

    await page.click('button[data-e2e=arrow-right]')

    // get the video bounding box
    const boundingBox = await page.$('body video').then(el => el.boundingBox());

    for (let i = 0; i < 3; i++) {

      // wait for the video to play for a while
      await new Promise(resolve => setTimeout(resolve, 10000));

      // give a like
      await page.click('button.css-1mizk9b-ButtonActionItem.e1hk3hf90')

      // move the mouse to the center of the video
      await page.mouse.move(
        boundingBox.x + boundingBox.width / 2,
        boundingBox.y + boundingBox.height / 2
      );

      // scroll the video down
      await page.mouse.wheel({ deltaY: 100 });
    }
    
    await browser.close()
  } catch (e) {
    console.error(e)
  }
}

(async () => {
  const ok = await startBrowser()
  if (ok) {
    await execPuppeteer()
  }
})();

总结

Nstbrowser的云同步功能可以在任何设备上创建配置文件,并将配置文件同步到其他设备和docker环境。

云同步可以保留您上次访问页面的内容和历史记录,大大简化操作成本。并且在任何设备上相同的配置文件环境都是一样的,可以防止网站的设备检测。云同步Cookie可以将用户的Cookie数据同步在一起,基于Cookie的登录状态也可以同步到相同的配置文件环境。

更多
2025年匿名浏览指南:最佳匿名浏览器和隐私浏览浏览器
Headless Browser
2025年匿名浏览指南:最佳匿名浏览器和隐私浏览器
2025年匿名浏览指南:了解跨平台顶级隐私浏览器,探索相关工具,进行浏览器对比,以及Nstbrowser如何保护多重身份。
Sep 25, 2025Luke Ulyanov
TikTok匿名浏览分步指南(2025年更新)
Browser FingerprintHeadless Browser
TikTok匿名浏览分步指南(2025年更新)
2025年匿名浏览TikTok教程。分步指南涵盖隐私浏览器、VPN和用于多账户隐私的Nstbrowser。
Sep 25, 2025Robin Brown
2025年最佳PC/Mac/iOS/Android隐私浏览器:顶级推荐
Browser FingerprintHeadless Browser
2025年最佳PC/Mac/iOS/Android私密浏览器推荐
探索2025年最佳的PC、Mac、iOS和Android私人浏览器。比较功能、隐私工具,并了解Nstbrowser如何帮助提升多账号安全。
Sep 25, 2025Robin Brown
云手机 vs 反反追踪浏览器:哪个多账号管理方案适合你?
Headless Browser
云电话 vs 反反爬虫浏览器:哪种多账号管理方案适合你?
了解云电话和反检测浏览器之间的区别。学习哪个解决方案最适合管理多个帐户以及 Nstbrowser 如何提供帮助。
Sep 18, 2025Luke Ulyanov
别错过2025年10大最佳虚拟浏览器
Headless Browser
别错过2025年10大最佳虚拟浏览器
探索2025年十大最佳虚拟浏览器,增强在线隐私、安全性和多账户管理。了解这些工具如何保护您的数字足迹并简化您的在线操作。包括比较、用例以及对Nst浏览器的推荐。
Sep 10, 2025Tạ Quí Lĩnh
如何使用Nstbrowser的无头浏览器自动解决Cloudflare Turnstile (2025)
BrowserlessCloudflare BypassHeadless Browser
如何使用 Nstbrowser 的 Browserless 自动解决 Cloudflare Turnstile (2025)
学习如何使用Nstbrowser的无头浏览器服务和Puppeteer绕过Cloudflare Turnstile。本指南将引导您完成设置、实现以及在确保合规性和效率的同时自动化网页抓取任务的优势。
Mar 07, 2025Robin Brown
目录