Puppeteer可作为爬虫使用,当在一个网站上抓取大量页面时,可能需要使用代理服务来避免IP被封。
要使用代理,在启动puppeteer浏览器时,传入代理服务器设置参数:
const browser = await puppeteer.launch({
args: [ '--proxy-server=SCHEME://IP:PORT' ]
});
如果代理服务器需要用户认证:
const browser = await puppeteer.launch({
args: [ '--proxy-server=USERNAME:PASSWORD@SCHEME://IP:PORT' ]
});
示例
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: [ '--proxy-server=http://113.121.240.67:808' ] // 用你的有效代理服务器替换
});
const page = await browser.newPage();
// 创建空白页(新选项卡)
await page.goto('https://www.infobyip.com');
// 等待,直到“title”元素呈现
await page.waitForSelector('title');
// await browser.close();
})();