NPM酷库,每天两分钟,了解一个流行NPM库。

jQuery 是前端DOM操作的利器,我们通过jQuery的接口可以方便地访问、修改DOM树中的节点和内容。

有时,在Node.js服务端,我们也需要类似的操作,比如分析爬虫抓取的HTML内容,如果过能够用jQuery分析,我们的爬虫程序将事半功倍。

但是很遗憾,jQuery并不能在Node.js服务端运行,因为jQuery严重依赖DOM,而Node.js环境中是没有集成DOM的。关于这一点可以参考我的公众号文章《JS运行环境》。

cheerio

今天我们接触的cheerio库就是一款运行于Node.js环境中,分析HTML的库,并实现了jQuery的接口,所以我们就可以像运用jQuery一样操作cheerio。

const cheerio = require('cheerio')
const $ = cheerio.load('<h2 class="title">Hello world</h2>')$('h2.title').text('Hello there!')
$('h2').addClass('welcome')$.html()
//=> <html><head></head><body><h2 class="title welcome">Hello there!</h2></body></html> 

cheerio.load() 方法加载一段HTML格式的字符串,然后返回一个实现了jQuery接口的对象。

参考资料

https://github.com/cheeriojs/...

欢迎关注公众号:梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

NPM酷库:cheerio,服务端jQuery接口实现相关推荐

  1. NPM酷库:jsdom,纯JS实现的DOM

    NPM酷库,每天两分钟,了解一个流行NPM库. 昨天认识了一个在Node.js环境下操作HTML的库 cheerio,cheerio实现了jQuery接口,用起来十分方便.为什么不直接用jQuery呢 ...

  2. 魔方APP项目-01-移动端开发相关概念、移动端自适配、元信息(meta)、开发准备、移动端项目搭建(模拟器调试)、APICloud(APICloud 前端框架,获取服务端API接口)

    一.移动端开发相关概念 1.APP类型 ①.Native APP Native APP又称原生APP,就是我们平时说的手机应用软件. 原生APP 是针对IOS.Android.Windows等不同的手 ...

  3. NPM酷库:globby,增强版的glob

    NPM酷库,每天两分钟,了解一个流行NPM库. 昨天,我们学习了一个新库 glob,用于模式匹配目录文件.今天,我们要了解的globby,是基于 glob,并进一步得到了增强了功能. globby 特 ...

  4. NPM酷库:vm2,安全的沙箱环境

    NPM酷库,每天两分钟,了解一个流行NPM库. 今天我们要了解的库是 vm2,则是一个Node.js 官方 vm 库的替代品,主要解决了安全问题. 不安全的vm 在Node.js官方标准库中有一个vm ...

  5. NPM酷库:dotenv,从文件加载环境变量

    NPM酷库,每天两分钟,了解一个流行NPM库.· 我们经常需要Node.js程序运行时加载不同的配置,比如开发环境和生产环境的数据数据库配置就可能不一样,使用 process.env.DB_HOST ...

  6. NPM酷库:dateformat 时间字符串格式化

    NPM酷库,每天两分钟,了解一个流行NPM库. JavaScript中Date内置对象的toString() 方法可以将时间对象转换为字符串,但是转换后的格式是这个样子的: Thu Feb 01 20 ...

  7. NPM酷库:uuid,生成随机ID

    NPM酷库,每天两分钟,了解一个流行NPM库. 在中心化应用中,数据记录的ID往往是数据库生成的自增ID,但是在分布式应用中,就会存在一些问题: 保存数据之前就需要给数据标识ID 数据规模超级大,中央 ...

  8. 酷狗音乐web端API接口数据

    酷狗音乐web端API接口数据 发表于 2017-07-16 | 分类于 api 酷狗音乐web端API接口数据分析 酷狗音乐Web端音乐API接口数据整理,以下接口数据已整理封装在我的基于Node. ...

  9. php 数字货币格式化,NPM酷库:accounting,格式化数字和货币

    NPM酷库,每天两分钟,了解一个流行NPM库.· 上次,我们了解到如何使用numeral库格式化数字.今天我们继续认识另外一个用来格式化数字的库accounting. accounting accou ...

最新文章

  1. 这应该是全网最好的「机器学习」科普文
  2. ELNET服务被我删了,如何安装?
  3. python常见错误-python常见的错误提示有什么
  4. 让你不再对网络安全产生七种误解
  5. 堆和栈的联系与区别(转贴)
  6. Mybatis生成器插件扩展,生成findInSet方法
  7. lucene 各个版本介绍
  8. Oracle性能调优之--Buffer cache 的调整与优化
  9. 一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?...
  10. 小猿圈python视频_小猿圈python学习-格式化打印
  11. 大数据学习总结(5)参考elk技术架构
  12. 慕课软件质量保证与测试(第七章.课后作业)
  13. 原生ajax请求流程
  14. Python糗百爬虫(精简版)
  15. 随手写的一个小程序,将gz压缩文件读取到内存中 并用base64编码 及相关解码
  16. excel如何给文件加密、工作簿加密、工作表加密(office2019)
  17. Java学习 之 画图板 立方体
  18. 下载其他版本jdk和下载32位jdk
  19. RFID与物联网的关系是什么?
  20. 交换机之vlan详解

热门文章

  1. mysql中sql语句有if_Sql中的if函数学习
  2. html画布画带百分比饼状图,echart.js如何画带百分比的饼状图
  3. java遍历字符串_Java后端开发算法基础面试题分享,你离大厂也许就差这份面试题
  4. HTML示例07---图像与超链接
  5. python3序列化_python3 json序列化问题
  6. PostMan 之 Mock 接口测试
  7. python解析json传入变量_Python 使用 docopt 解析json参数文件过程讲解
  8. Matlab实用代码——定位文件位置,自动导入文件
  9. 集宁哪有计算机培训班,集宁区有这么一个空间,叫共享自习室
  10. 局域网中搜计算机无法访问,怎么找不到共享电脑,手把手教你局域网中共享电脑找不到怎么办...