node puppeteer库爬虫配置(爬取普通请求无法访问的网站)

puppeteer

(1)主要用了爬取数据和测试网站性能
(2)异步配置

安装
	cnpm install puppeteer -D

async function test(){

打开浏览器的配置
	let options={
		//使用无头模式,默认为有头(true为无界面模式)
		headless:false,
		//设置打开页面在浏览器中的宽高
		defaultViewport:{
			width:1000,
			height:800
		}
	}
返回浏览器实例
	let browser=await puppeteer.launch(options)
	
创建新页面,并返回页面对象
	let page=await browser.newPage();
	
进入指定页面
	await page.goto('url路径');

若要截取指定浏览器图片,图片会被放在当前路径下
 	await page.screenshot({path: 'screenshot.png'});

获取页面内容
	page.$eval("选择器",回调函数(dom对象)); 获取单个
	page.$$eval("选择器",回调函数(dom对象)); 获取数组

事件监听
	page.on('console',function(...args){
		console.log(args);
	})
}

代码示例:

async function test(){

	let options={
		//使用无头模式,默认为有头(true为无界面模式)
		headless:false,
		//设置打开页面在浏览器中的宽高
		defaultViewport:{
			width:1000,
			height:800
		}
	}

	//返回浏览器实例
	let browser=await puppeteer.launch(options)
	//创建新页面,并返回页面对象
	let page=await browser.newPage();
	//进入指定页面
	await page.goto('https://www.dytt8.net/');

	//若要截取指定浏览器图片,图片会被放在当前路径下
	// await page.screenshot({path: 'screenshot.png'});
	
	//获取页面内容
	page.$$eval("#menu li a",(elements)=>{
		elements.forEach(function(item,index){
			console.log(item.innerHTML);
		})
	}) 

	page.on('console',function(...args){
		console.log(args);
	})
}

你可能感兴趣的:(node爬虫,nodejs)