我想从我的默认位置路径加载用户代理的随机列表,例如:“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();
}
};
繁星coding
相关分类