提问人:Alexander Vzlomed 提问时间:11/25/2020 更新时间:12/7/2020 访问量:751
如何在 Puppeteer 中使用代理(每页)
How to use proxy with Puppeteer (page per page)
问:
美好的一天,需要解析来自一个站点的大量信息。
该网站大约有50万页。为此,我决定使用 Puppeteer + Electron + 一些应用方法。但是我遇到了一个问题,过了一会儿,该网站被IP禁止了一个小时(没有完全禁止,但不再可以注册autoregue,并且对一个帐户有限制)。我需要为每次点击链接更改我的 IP,或者如果发生错误,至少要独立注册这些代理的搜索。
在查看了 The puppeteer 文档后,我意识到它只提供了一个机会 - 通过配置放置代理(...args: ['--proxy-server=proxy']),并且仅在浏览器开始时。我决定使用插件(puppeteer-proxy、puppeteer-page-proxy 等),但无论是因为我的歪歪扭扭,还是其他一些问题,他们顽固地不想按照我的需要工作(模块似乎已连接,并且没有给出错误,但是当涉及到它时
所以我需要模块在不重新启动 Puppeteer 实例的情况下使用每页代理
let scrape = async () => {
let browser = await puppeteer.launch({headless: false})
let page = await browser.newPage()
await page.setRequestInterception(true);
page.on('request', async (request) => {
await proxyRequest({
page,
proxyUrl: *my own proxy*,
request,
}); // doesnt working :(
});
//parsing
答: 暂无答案
评论