木偶浏览器引用列表

时间:2020-09-19 00:54:14

标签: javascript node.js puppeteer referer

我想从我的默认位置路径中加载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/' });

1 个答案:

答案 0 :(得分:0)

您应该选择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