Node.js 木偶演员将签约进入TikTok

Node.js 木偶演员将签约进入TikTok,node.js,puppeteer,Node.js,Puppeteer,我正试着用木偶演员签入TikTok。然而,每次我尝试与木偶师登录TikTok时,都会显示“您访问我们的网站太频繁了”,如下图所示 以下是我尝试过的一些事情: 使用傀儡潜行 使用firefox木偶演员 同时使用木偶师隐形和firefox木偶师 使用VPN 在其他设备上登录帐户,在该设备上注销,然后运行代码 在运行代码之间等待4小时 木偶演员也不会抛出任何错误 让我知道你们的想法 下面是代码: const puppeteer = require("puppeteer-extra&qu

我正试着用木偶演员签入TikTok。然而,每次我尝试与木偶师登录TikTok时,都会显示“您访问我们的网站太频繁了”,如下图所示

以下是我尝试过的一些事情:

  • 使用傀儡潜行
  • 使用firefox木偶演员
  • 同时使用木偶师隐形和firefox木偶师
  • 使用VPN
  • 在其他设备上登录帐户,在该设备上注销,然后运行代码
  • 在运行代码之间等待4小时
木偶演员也不会抛出任何错误

让我知道你们的想法

下面是代码:

const puppeteer = require("puppeteer-extra");
const StealthPlugin = require("puppeteer-extra-plugin-stealth");
puppeteer.use(StealthPlugin());

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto("https://www.tiktok.com/login/phone-or-email/email");
  await page.type("input[name=email]", EMAIL, { delay: 20 });
  await page.type("input[name=password]", PASSWORD, { delay: 20 }); // log in w email and password

  await page.evaluate(() => {
    document.querySelector("button[type=submit]").click();
  }); // press login button

  await page.screenshot({ path: "example.png" });

  await browser.close();
})();


手动登录一次,然后为后续每次登录执行cookie注入:)


(当然,要做到这一点,您需要保存所有cookie,但只能保存一次!)

机器人检测技术有多种。试着头脑清醒地启动木偶师并手动登录,这样行吗?请尝试等待几秒钟,然后再
page.goto
page.type
。尝试另一个帐户。我想他们可能会检测到该特定用户名和密码的登录次数。如果您试图在短时间内多次登录,这可能就是原因。如果是这种情况,最好从Puppeter浏览器获取cookies,并使用
fs
module将其保存到本地json文件中。然后您可以使用它来自动化身份验证过程。更改用户代理可能也会有所帮助。@Vaviloff I put
wait page.waitForTimeout(5000)就在
等待页面.goto()之后,我仍然从TikTok收到了相同的消息。我还尝试了另一个帐户,但仍然得到了相同的结果error@Sezerc我对cookies和网站认证了解不多。我知道Puppeter有一种获取所有cookies的方法,所以我计划使用这种方法:
wait page.\u client.send('Network.getAllCookies')
。不过有一个问题。我应该买什么饼干?我应该在没有木偶师的情况下登录并下载那些cookie吗?或者我应该从失败的木偶师测试中下载cookies吗?我也不是cookies方面的专家,但我知道大多数网站都使用cookies来记住您的用户身份验证凭据。您应该获得哪些cookies?我也不知道。我想这取决于网站。成功登录后,您需要获取cookies。当你出错的时候就不会了。请记住,有些网站使用本地存储而不是cookie。