zoukankan      html  css  js  c++  java
  • cheerio笔记

    不会的东西,再简单都是难;会的东西,再难都是简单。

    给自己写的,写的通俗易懂。

    cheerio:在node服务端,解析网页,是jquery的核心,去除了DOM中不一致的地方。

    先获得网页的源码,再通过cheerio解析,可以迅速提出想要的字段。获得源码有点麻烦。

    Load:

    //使用的html字段
    <ul id="fruits">
    <li class="apple">Apple</li>
    <li class="orange">Orange</li>
    <li class="pear">Pear</li>
    </ul>
    //加载需要处理的字段,标准写法。
    var cheerio = require('cheerio'), $ = cheerio.load('<ul id="fruits">...</ul>', {
      ignoreWhitespace: false, //不 忽略空格
      xmlMode: false, //不使用xml模式
      lowerCaseTags: false //不区分大小写
    });

    Selectors:

    $(selectior,[context],[root]):选择器在 Context 范围内搜索,Context又在Root范围内搜索。

    属性:

    .attr(name,value):在匹配的元素中只能获得第一元素的属性。如果设置一个属性的值为null,则移除这个属性。

    值:

    .val([value]):获得和修改input,select,textarea的value

    移除属性:

    .removeAttr(name)

    .hasClass( className ):检查匹配的元素是否有给出的类名

    .addClass(className):给元素加类

    .removeClass([className])

    .is(selector):任何元素匹配selector就返回true

    .is(function(index)):使用判定函数,判定函数在选中的元素中执行,所以this指向当前的元素。

    .find(selector):查找

    .parent([selector])

    .parents([selector]):父,祖父及以上元素

    .closest([selector]):匹配这个元素和DOM层级关系上的祖先元素。

    .next()

    .nextAll()

    .prev()

    .preAll()

    .slice(start,[end]):获得选定范围内的元素

    .siblings(selector):获得被选择的同级元素,除去自己

    .children(selector)

    .each(function(index,element))

    .map(function(index,element)):跟each好像呀?

    .filter(selector):迭代一个cheerio对象,得出匹配选择器或者是传进去的函数的元素。

    .filter(function(index)):如果使用函数方法,这个函数在被选择的元素中执行,所以this指向当前元素

    .first()

    .last()

    .eq(i):i为负数,从最后一个元素向前数

    改变DOM的结构:

    .append(content,[content…]):在每个元素的子元素最后插入一个子元素

    .prepend(content,[content,…]):在每个元素的子元素最前插入一个子元素

    .after(content,[content,…]):在每个匹配元素之后插入一个元素

    .before(content,[content,…]):

    .remove( [selector] ):从DOM中去除匹配的元素和它们的子元素

    .replaceWith( content ):

    .empty():移除子元素

    .html( [htmlString] ):如果htmlString有内容的话,将会替代原来的HTML

    .text( [textString] ):获得元素的text内容,包括子元素。如果textString被指定的话,每个元素的text内容都会被替换。

    输出:

    $.html([selector]):

    .toArray():取得所有的在DOM元素,转化为数组

    .clone():克隆cheerio对象

    $.root

    $.contains( container, contained ):查看cotained元素是否是container元素的子元

    $.parseHTML( data [, context ] [, keepScripts ] ):context参数对chreeio没有意义,但是用来维护APi的兼容性 

  • 相关阅读:
    MySQL 常用到的几个字符处理函数
    MySQL DATE_SUB查询工龄大于35的员工信息
    Mysql 没有nvl()函数,却有一个类似功能的函数ifnull();
    switch 循环中的case理解
    批处理系统和分时系统各具有什么特点?为什么分时系统的响应比较快?
    存储式计算机的主要特点是什么?
    代码实现导航栏分割线
    Keras函数式API介绍
    Keras通过子类(subclass)自定义神经网络模型
    R语言kohonen包主要函数介绍
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4097918.html
Copyright © 2011-2022 走看看