亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Puppeteer 瀏覽器用戶代理列表

Puppeteer 瀏覽器用戶代理列表

慕尼黑8549860 2023-03-18 17:08:37
我想從我的默認位置路徑加載用戶代理的隨機列表,例如:“agents.json”而不是直接添加 1 個用戶代理。代理.json["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "Mozilla/5.0 (iPad; CPU OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/79.0.3945.73 Mobile/15E148 Safari/604.1"]我的代碼:const puppeteer = require('../core/puppeteer');const referers = require('../core/referers.json');const referers = require('../core/agents.json');const viewVideosInBatch = async ({ targetUrls, durationInSeconds, port }) => {  let browser;  try {    browser = await puppeteer.getBrowserInstance(port);    const randomReferer = referers[Math.floor(Math.random() * referers.length)];    const randomAgents = agents[Math.floor(Math.random() * agents.length)];    const page = await browser.newPage();    browser = await page.setUserAgent({ agents: randomAgents });    page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);    page.on('error', handlePageCrash(page));    page.on('pageerror', handlePageCrash(page));    page.setExtraHTTPHeaders({ referer: randomReferer });    await page.setViewport({      width: 640,      height: 480,      deviceScaleFactor: 1,    });    const ipAddr = await getCurrentIP(page);    const targetUrlsForAction = _take(_shuffle(targetUrls), VIEW_ACTION_COUNT);    await watchVideosInSequence(page, ipAddr, targetUrlsForAction, durationInSeconds);    await page.close();  } catch (error) {    logger.warn('Entire view action in a batch failed.');    logger.debug(error);  } finally {    await browser.close();  }};
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

您似乎在設置 UA 時重新聲明了瀏覽器,這是不應該的。此外,您不需要將其設置為對象:page.setUserAgent接受字符串:page.setUserAgent(userAgent)。

await page.setUserAgent(randomAgent);會沒事的。

const browser = await puppeteer.getBrowserInstance(port);

const randomReferer = referers[Math.floor(Math.random() * referers.length)];

const randomAgent = agents[Math.floor(Math.random() * agents.length)]; // made it singular instead of plural

const page = await browser.newPage();

await page.setUserAgent(randomAgent); // like this

page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);

page.on('error', handlePageCrash(page));

page.on('pageerror', handlePageCrash(page));

page.setExtraHTTPHeaders({ referer: randomReferer });

注意:我認為這只是你帖子中的一個錯誤,但你也有兩個 const named referers,這個應該是agents:


const referers = require('../core/agents.json');


查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號