返回

Node.js 使用 puppeteer 抓取 iOS 商店后台 APP 评论

前端

1. 环境准备

  • 安装 Node.js
  • 安装 puppeteer
npm install puppeteer

2. 登录 App Store Connect

使用 puppeteer 打开 App Store Connect 登录页面:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://appstoreconnect.apple.com/login');
})();

在打开的页面中,输入您的 Apple ID 和密码,然后点击“登录”按钮。

3. 获取 App ID

登录后,您需要获取要抓取评论的 App 的 App ID。

await page.waitForNavigation();
const appId = await page.evaluate(() => {
  return document.querySelector('meta[name="app-id"]').content;
});

4. 解决双重验证问题

如果您启用了双重验证,则需要使用一次性密码才能登录。您可以使用 puppeteer 模拟输入一次性密码:

await page.waitForSelector('#auth-modal-content');
const otpInput = await page.$('#auth-modal-content input[name="password"]');
await otpInput.type('123456');
await page.click('#auth-modal-content button[type="submit"]');

5. 抓取评论

现在,您可以使用 puppeteer 抓取评论了:

await page.waitForSelector('.reviews-list');
const reviews = await page.$('.reviews-list .review');
for (const review of reviews) {
  const title = await review.$eval('h3', el => el.textContent);
  const content = await review.$eval('p', el => el.textContent);
  console.log(`${title}: ${content}`);
}

6. 结束

抓取完成后,您需要关闭浏览器:

await browser.close();

7. 总结

本教程向您展示了如何使用 Node.js 和 puppeteer 抓取 iOS 商店后台的 APP 评论。我们介绍了如何解决后台登录态问题和 App ID 的双重验证问题。希望本教程对您有所帮助。