headless-chrome-crawler 教程

关于headless-chrome-crawler的介绍,大家都知道它是一个自带 JavaScript 执行环境的爬虫插件。在Chrome 59 之后 Chrome 提供了 Headless 模式,其允许在命令行中使用 Chromium 以及 Blink 渲染引擎提供的完整的现代 Web 平台特性。需要注意的是,Headless Chrome 仍然存在一定的局限,相较于 Nightmare 或 Phantom 这样的工具, Chrome 的远程接口仍然无法提供较好的开发者体验。

另外它支持分布式,是一款分布式爬虫。它能解决 AngularJS、vue.js 等这些现代化的前端框架编写的网站的爬虫问题。所以今天web前端中文站将详细的介绍它的相关教程。

更多精彩内容请看 web前端中文站
www.lisa33xiaoq.net 可按Ctrl + D 进行收藏

bg2015092301

前面我写过不少有关Webmagic?的教程文章,Webmagic?是一个基于 java 实现的爬虫框架,关于它的相关教程都可以在我的博客中找到。

特征

  • 分布式抓取
  • 配置并发性,延迟和重试
  • 支持深度优先搜索和广度优先搜索算法
  • 可插拔的缓存存储,如Redis
  • 支持导出结果的CSV和JSON行
  • 在最大请求时暂停并在任何时候恢复
  • 自动插入jQuery进行刮取
  • 保存抓取证据的截图
  • 仿真设备和用户代理
  • 优先队列提高抓取效率
  • 服从robots.txt
  • 跟随sitemap.xml

安装

headless-chrome-crawler 有两种安装方式,如下:

 yarn add headless-chrome-crawler # or "npm i headless-chrome-crawler"

爬行器包含Puppeteer。在安装过程中,它会自动下载最新版本的Chromium。

用法

它的用法很简单,如下:

 const HCCrawler = require('headless-chrome-crawler');  
 HCCrawler.launch({   
 // Function to be evaluated in browsers   
 evaluatePage: (() => ({title: $('title').text(),})),   
 // Function to be called with evaluated results from browsers   
 onSuccess: (result => {console.log(result);   }), }).then(crawler => {     
 // Queue a request     crawler.queue('https://example.com/');     
 // Queue multiple requests     
 crawler.queue(['https://example.net/', 'https://example.org/']);     
 // Queue a request with custom options     
 crawler.queue({url: 'https://example.com/',       
 // Emulate a tablet device       
 device: 'Nexus 7',       
 // Enable screenshot by passing options       
 screenshot: {path: './tmp/example-com.png'},});     
 crawler.onIdle() // Resolved when no queue is left       
 .then(() => crawler.close()); 
 // Close the crawler});

另外 github 上还提供了很多案例和 api 文档的使用。更多用法请移步到 github 上自行学习。

【注:本文源自网络文章资源,由站长整理发布】

0
如无特殊说明,文章均为原作者原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论

Hi,请填写昵称和邮箱!

取消评论
代码 贴图 加粗 链接 删除线 签到