Поясните незнающему, как подключить каждую страницу к разному прокси.
Пробовал использовать puppeteer-page-proxy, при коннекте просто отваливался браузер с ошибкой "Target closed".
Погуглил и нарыл, что можно юзать Proxy-Chain, но как? Я создавал отдельный сервер для прокси и брал из списка валидированный для данного урла прокси, но браузер по прежнему просто крашился и выдавало ошибку "Target closed". Весь код:
let ProxyChain = require("proxy-chain");
let { Cluster } = require("puppeteer-cluster");
(async () => {
let driver = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 2,
puppeteerOptions: {
headless: false,
},
});
await driver.task(async ({ page, data: url }) => {
let server = new ProxyChain.Server({
port: 8000,
verbose: true,
prepareRequestFunction: async ({ request }) => {
console.log(123);
return {
upstreamProxyUrl: await require("./proxy-provider")(
"proxies1.txt"
).getRandomProxy(url),
};
},
});
server.listen(() => console.log("worked"));
await page.setRequestInterception(true);
await page.goto(url);
});
driver.queue("TARGET_URL");
await driver.idle();
await driver.close();
})();