Puppeteer 浏览器引用列表

Puppeteer browser referer list

我想从我的默认位置路径加载 referers 的随机列表,例如:'referers.txt' 而不是直接添加“facebook url 作为引用。

我的代码:

browser = await puppeteer.getBrowserInstance(port);
const page = await browser.newPage();
page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);
page.on('error', handlePageCrash(page));
page.on('pageerror', handlePageCrash(page));
page.setExtraHTTPHeaders({ referer: 'https://www.facebook.com/' });

您应该选择 JSON 而不是 txt 来将引用值列表存储在数组中。

referers.json

["https://www.google.com", "https://www.facebook.com", "https://www.instagram.com"]

然后您将能够通过以下方式从数组中随机选择一个元素:array[randomIndex]。要为数组的长度生成一个随机数,您有多种可能性,Math.floor(Math.random() * array.length) 只有其中一种。

referers.js

const puppeteer = require('puppeteer')
const referers = require('./referers.json')

async function fn() {
  const randomReferer = referers[Math.floor(Math.random() * referers.length)]
  console.log(referers)
  console.log(randomReferer)
  const browser = await puppeteer.launch({ headless: false, devtools: true })
  const page = await browser.newPage()

  page.setExtraHTTPHeaders({ referer: randomReferer })

  await page.goto('https://www.instagram.com/')
}
fn()

输出示例:

[
  'https://www.google.com',
  'https://www.facebook.com',
  'https://www.instagram.com'
]
https://www.facebook.com