javascript - Puppeteer 在访问 URL 时加载带有 429 的空白页面

标签 javascript node.js web-scraping chromium puppeteer

我正在从事一个从酒店网站获取定价信息的项目,但在 puppeteer 中加载网站时无法执行任何搜索。

这是我打开 Chrome 的 JavaScript 代码片段。

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false, devTools: false });
  const page = await browser.newPage();
  await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3683.103 Safari/537.36');

  await page.goto('https://www.hyatt.com/');

})();

他们如何检测到我正在使用由 Puppeteer 控制的 Chrome,即使它运行的是 headful 浏览器?

谢谢

最佳答案

他们正在为您采集指纹。它是一些 javascript,可枚举诸如浏览器插件和导航器对象之类的内容,并将其发送回服务器。

因此您必须拦截该帖子并将其更改为普通浏览器会发送的内容。

关于javascript - Puppeteer 在访问 URL 时加载带有 429 的空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56500643/

相关文章:

javascript - 按设定的时间间隔刷新 DIV 元素

node.js - heroku 上 Node 应用程序的虚拟主机

python - 无法使我的 python 网页抓取脚本与多处理一起使用

javascript - 输入文本时,具有可扩展行的 Vuetify 数据表会崩溃

javascript - 给 JavaScript 文件一个不同的扩展名。

javascript - 如果选中复选框,则不验证发货单 - JavaScript

javascript - Put Request、JQuery、MongoDB 和 Mongoose 的更新问题

javascript - Node js 和 Redis 未定义的 JSON 属性

python - 如何捕获 requests.get() 异常

python - 如何在 python 中使用 mechanize 发送带有 post 请求的原始 JSON 数据