1.cheerio-解析几乎任何HTML或XML文档
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文档相关推荐
- Dom4j解析器_解析xml文档
为什么80%的码农都做不了架构师?>>> 目录 1.Dom4J是什么 2.使用dom4j解析xml 3.使用dom4j查询xml 4.使用dom ...
- XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?
XML文档定义方式:有两种定义形式,dtd文档类型定义和schema模式 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的) 普通区别: 1.s ...
- XML文档类型定义DTD
DTD概述 DTD用来定义XML文档的结构,它包含一系列规则说明,以确保XML文档的一致性和有效性 DTD定义了XML文档可用的词汇(元素和属性的名称)和结构: 元素名称,包括根元素 元素的属性及属性 ...
- XML第二讲:格式正规的XML文档、XML文档的元素、属性、实体深度详解
1. 对比XML与HTML下图所示: 从图中可以很好的判断出XML的优越性,XML更能显示出清晰的数据结构信息 2. XML与 HTML的区别 1) 元标记:表示从标记上面就可以描述内容本身是什么,比 ...
- java中sax的使用_java使用sax对xml文档的解析
随着互联网技术的发展,XML技术变得越来越重要,从而出现了很多 与XML的整合应用方面的技术,SAX就是其中之一.在这里,我就简要 谈谈java怎样使用sax对xml文档的解析. 首先,让我们来谈谈S ...
- XML 解析XML文档 XML约束
XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...
- SAX解析XML文档——(二)
SAX从上向下解析,一行一行解析.节省内存,不适合CRUD. XML文档: <?xml version="1.0" encoding="UTF-8"?&g ...
- 【学习笔记】关于DOM4J:使用DOM4J解析XML文档
一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...
- 使用JAXP对xml文档进行DOM解析基础
XML解析方式分为两种:dom和sax dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式. sax ...
- XML文档DOM、SAX、STAX解析方式
2019独角兽企业重金招聘Python工程师标准>>> XML解析方式有三种:DOM.SAX.StAX xml文档每个成分都是一个节点,每个xml标签对应一个元素节点:整个文档是一个 ...
最新文章
- SAP MM Error message - Customizing incorrectly maintained – in transaction code ML81N
- python爬虫教程入门-Python爬虫系列 - 入门教学
- c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
- ruby格式化SQL语句
- RAC+单实例DATAGUARD 配置
- cocos2d-x初探学习笔记(1)--HelloWorld
- 12.多媒体和超链接标签及其应用实例
- qsort 三级排序
- java 中导出word后压缩文件_Java批量导出word压缩后的zip文件案例
- Android五天乐(第三天)ListFragment与ViewPager
- nested exception is java.lang.NoClassDefFoundError: org/codehaus/jettison/json/JSONObject异常的解决办法
- 绘制图像直方图 matplotlib
- Python数据分析、挖掘常用工具
- Git工具的基本使用(一)
- 怎么快速的把CAD文件转化为MAPGIS详细步骤
- sif4j 字符串拼接和占位符的区别
- bde访问64位oracle,Delphi5企业版使用BDE访问Oracle方法
- 出入库管理系统php,php销售供应链管理系统
- 晨风机器人卡片/文字双切配置
- php wmf png,php – 无法使用Imagemagick将SVG转换为WMF
热门文章
- 利用java socket和sampled实现点对点即时语音通信
- 亚信安全发2021财报: 营收增长30.82%,云安全、终端安全核心产品收入增幅明显
- [wargame.kr 韩国 CTF] Writeup
- chatgpt赋能python:如何去除Python列表中的中括号
- WPF编程,实现鼠标拖动控件并带有中间动效
- ob服务器维修视频,Obloq Http
- linux请求超时 ping_网站 ping 超时
- Sui Builder House首尔站倒计时!
- 《朱雀》杂记---葛亮、著、作家出版社
- 卖出总数的一半又少8个_总共有多少个?一筐鸡蛋?