gpt4 book ai didi

node.js - 在云功能上使用puppeteer拒绝了网站访问

转载 作者:行者123 更新时间:2023-12-03 09:27:06 26 4
gpt4 key购买 nike

我正在尝试使用puppeteer对这个URL https://www.myntra.com/laptop-bag/chumbak/chumbak-unisex-brown-geo-bird--printed-laptop-bag/6795882/buy进行转义。
当我使用{ headless: false }时,它可以正常工作,但是在 headless 模式下会失败。
然后,我比较了两种情况下使用此方法的响应。

const resp = await page.goto(url);
console.log(resp);
然后我发现使用 headless 模式时需要添加userAgent。所以我添加了这个。
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36');
现在它在两种情况下都可以工作 本地。但是,当我部署到云功能时,它仍然会失败。
这是使用puppeteer截取的屏幕截图。
enter image description here
这是响应日志的一部分。
_headers: 
{ status: '403',
server: 'AkamaiGHost',
'mime-version': '1.0',
'content-type': 'text/html',
'content-length': '395',
expires: 'Thu, 09 Jul 2020 12:16:30 GMT',
date: 'Thu, 09 Jul 2020 12:16:30 GMT',
'set-cookie': 'AKA_A2=A; expires=Thu, 09-Jul-2020 13:16:30 GMT........
我有什么想念的吗?
谢谢。
更新:
我已经将puppeteer隐身插件与IP旋转一起使用。这是代码
const puppeteer = require('puppeteer-extra');

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

const AdblockerPlugin = require('puppeteer-extra-plugin-adblocker')
puppeteer.use(AdblockerPlugin({ blockTrackers: true }))

对于IP轮换:
var browser = await puppeteer.launch({
headless: true,
args: ['--proxy-server=abcd-efg.proxymesh.com:12345']
});

var page = await browser.newPage();

await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36');

await page.authenticate({
username: 'myusername',
password: 'mypassword'
});

IP轮换在本地工作,但仍在云功能上受阻。

最佳答案

使用住宅代理可以解决此问题。
最初,我通过IP旋转部署在云功能和AWS lambda中。我已经使用proxymesh服务进行IP轮换。但它仅提供数据中心代理。失败了。然后,我尝试了另一种服务的住宅代理。有效。

关于node.js - 在云功能上使用puppeteer拒绝了网站访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62819232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com