puppeteer替换selenium爬虫的试用

一、优点

puppeteer是一个Nodejs的库,支持调用Chrome的API来操纵Web,相比较Selenium或是PhantomJs,它最大的特点就是它的操作Dom可以完全在内存中进行模拟既在V8引擎中处理而不打开浏览器,而且关键是这个是Chrome团队在维护,会拥有更好的兼容性和前景。

二、安装

npm i puppeteer --save

注意点,如果下载chrome的时候报错,可以更换镜像源

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i puppeteer  // 安装在项目下即可

三、初步试用

const puppeteer = require('puppeteer');
const fs = require("fs");


function write_file(data) {
  fs.writeFile("./a.html",data,function(err){
    if (err){
      console.log("写文件失败");
    }else{
      console.log("写入成功");
    }
  })
}

(async () => {

  const browser = await puppeteer.launch({
  	  headless: false,
      // headless: false,//不使用无头chrome模式
      executablePath: 'E:\\spider\\pup_spider\\node_modules\\_puppeteer@1.10.0@puppeteer\\.local-chromium\\win64-599821\\chrome-win\\chrome.exe',//path to your chrome
  });
  const page = await browser.newPage();
  await page.goto('http://www.baidu.com');
  // await page.screenshot({"./": 'example.png'});
  console.log("open page");
  const result = await page.content();
  write_file(result);
  await browser.close();
})();

个人感受,不论是流畅度还是控制元素,都比selenium舒服,喜欢的朋友可以尝试一下。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值