cheerio-GitHub中文文档

官方对它的简介:为服务器特别定制的,快速,灵活,实施的jQuery核心实现

本文主要记录如何用cheerio来解析HTML抓取有效数据,也就是所谓的爬虫

# 安装

npm install cheerio

# 使用

加载

var cheerio = require('cheerio');
let $ = cheerio.load(response, { ignoreWhitespace: true }); // response为网页源代码

选择器

cheerio和jQuery选择器的实现几乎是相同的,所以API非常相似

$('.apple', '#fruits')$('ul .pear')$('li[class=orange]')

获取子元素

$('#fruits').children()

遍历元素集合

迭代一个cheerio对象,为每个匹配元素执行一个函数.当回调函数执行后,该函数所处的环境是DOM element,所以this指向当前元素,这相当于函数的参数element.要提前打破each循环,那么返回false.

$('li').each(function(i, elem) {$(this).text();
});

其他方法

选择一个cheerio的对象的第一个元素

$('#fruits').children().first()

选择一个cheerio对象的最后一个元素

$('#fruits').children().last()

根据索引来确定元素

$('li').eq(0) // 第一个$('li').eq(-1) // 倒数第一个

检索出匹配的cheerio对象的DOM元素

$('li').get(0) // 第一个$('li').get() // 全部

更多api或配置请参考 cheerio-GitHub中文文档

本文完

1.cheerio-解析几乎任何HTML或XML文档相关推荐

  1. Dom4j解析器_解析xml文档

    为什么80%的码农都做不了架构师?>>>    目录     1.Dom4J是什么     2.使用dom4j解析xml     3.使用dom4j查询xml     4.使用dom ...

  2. XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?

    XML文档定义方式:有两种定义形式,dtd文档类型定义和schema模式 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的) 普通区别: 1.s ...

  3. XML文档类型定义DTD

    DTD概述 DTD用来定义XML文档的结构,它包含一系列规则说明,以确保XML文档的一致性和有效性 DTD定义了XML文档可用的词汇(元素和属性的名称)和结构: 元素名称,包括根元素 元素的属性及属性 ...

  4. XML第二讲:格式正规的XML文档、XML文档的元素、属性、实体深度详解

    1. 对比XML与HTML下图所示: 从图中可以很好的判断出XML的优越性,XML更能显示出清晰的数据结构信息 2. XML与 HTML的区别 1) 元标记:表示从标记上面就可以描述内容本身是什么,比 ...

  5. java中sax的使用_java使用sax对xml文档的解析

    随着互联网技术的发展,XML技术变得越来越重要,从而出现了很多 与XML的整合应用方面的技术,SAX就是其中之一.在这里,我就简要 谈谈java怎样使用sax对xml文档的解析. 首先,让我们来谈谈S ...

  6. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

  7. SAX解析XML文档——(二)

    SAX从上向下解析,一行一行解析.节省内存,不适合CRUD. XML文档: <?xml version="1.0" encoding="UTF-8"?&g ...

  8. 【学习笔记】关于DOM4J:使用DOM4J解析XML文档

    一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...

  9. 使用JAXP对xml文档进行DOM解析基础

    XML解析方式分为两种:dom和sax         dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式.        sax ...

  10. XML文档DOM、SAX、STAX解析方式

    2019独角兽企业重金招聘Python工程师标准>>> XML解析方式有三种:DOM.SAX.StAX xml文档每个成分都是一个节点,每个xml标签对应一个元素节点:整个文档是一个 ...

最新文章

  1. SAP MM Error message - Customizing incorrectly maintained – in transaction code ML81N
  2. python爬虫教程入门-Python爬虫系列 - 入门教学
  3. c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
  4. ruby格式化SQL语句
  5. RAC+单实例DATAGUARD 配置
  6. cocos2d-x初探学习笔记(1)--HelloWorld
  7. 12.多媒体和超链接标签及其应用实例
  8. qsort 三级排序
  9. java 中导出word后压缩文件_Java批量导出word压缩后的zip文件案例
  10. Android五天乐(第三天)ListFragment与ViewPager
  11. nested exception is java.lang.NoClassDefFoundError: org/codehaus/jettison/json/JSONObject异常的解决办法
  12. 绘制图像直方图 matplotlib
  13. Python数据分析、挖掘常用工具
  14. Git工具的基本使用(一)
  15. 怎么快速的把CAD文件转化为MAPGIS详细步骤
  16. sif4j 字符串拼接和占位符的区别
  17. bde访问64位oracle,Delphi5企业版使用BDE访问Oracle方法
  18. 出入库管理系统php,php销售供应链管理系统
  19. 晨风机器人卡片/文字双切配置
  20. php wmf png,php – 无法使用Imagemagick将SVG转换为WMF

热门文章

  1. 利用java socket和sampled实现点对点即时语音通信
  2. 亚信安全发2021财报: 营收增长30.82%,云安全、终端安全核心产品收入增幅明显
  3. [wargame.kr 韩国 CTF] Writeup
  4. chatgpt赋能python:如何去除Python列表中的中括号
  5. WPF编程,实现鼠标拖动控件并带有中间动效
  6. ob服务器维修视频,Obloq Http
  7. linux请求超时 ping_网站 ping 超时
  8. Sui Builder House首尔站倒计时!
  9. 《朱雀》杂记---葛亮、著、作家出版社
  10. 卖出总数的一半又少8个_总共有多少个?一筐鸡蛋?