博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.Js cheerio模块--操作/解析Html
阅读量:4287 次
发布时间:2019-05-27

本文共 2042 字,大约阅读时间需要 6 分钟。

Node.Js cheerio 模块可以在服务器段想使用Jquery的方式操作Dom结构,许多用法和jquery 的语法基本相同。

为服务器特别定制的,快速、灵活、实施的jQuery核心实现.

安装 npm install cheerio

实例1: 构建Dom结构

//使用 cheerio 生成Dom 结构var cheerio=require('cheerio');var $=cheerio.load('
');//console.info($);var container=$('.container');//console.info(container);for(var i=0;i<10;i++){ //方法1 //container.append('
'+i+'
'); //方法2 var item=$('
'); item.addClass('item'); item.text(i); container.append(item);}//console.info(container.html());console.info($.html());

示例2:解析Dom结构,网络爬虫简单实例

var http = require('http');var cheerio = require('cheerio');http.get('http://www.gongjuji.net', function(req, res) {    var result = '';    req.on('data', function(data) {        result += data;    });    req.on('end', function() {        //console.info(result);        parseHtml(result);    });});//解析html 获取内容function parseHtml(result) {    var $ = cheerio.load(result);    //获取html    //console.info($.html());    //获取文本内容    //console.info($.text());    //获取文本,将多个空白符 替换成空格    //console.info($.text().replace(/\s+/g,' '));    //获取文本,将多个空格 替换成一个空    //console.info($.text().replace(/[ ]+/g,' '));    //获取文件,将多个换行替换成 一个换行    //console.info($.text().replace(/(\r\n)+[ ]+/g,'\r\n').replace(/(\r\n)+/g,'\r\n'));    //过去文件,将多个连续换行替换成 一个换行    //console.info($.text().replace(/(\r\n)+/g,'\r\n'));    //解析html内容     // itemList[]     // {title:'',linkUrl:’‘}    var captionList = $('.body-content .caption');    var itemList = [];    captionList.each(function(item) {        var cap = $(this);        //console.log(cap.find('h3').text());        var item = {            title: cap.find('h3').text(),            linkUrl: cap.find('a').attr('href')        }        itemList.push(item);    });    console.info(itemList);  //   [ { title: 'Md5加密工具',  //   linkUrl: 'http://md5.gongjuji.net/encrypt/' },  // { title: 'Md5解密工具',  //   linkUrl: 'http://md5.gongjuji.net/dencrypt/' },  // { title: '字符统计工具',  //   linkUrl: 'http://character.gongjuji.net/char/' },  // { title: '字节转换工具', linkUrl: 'http://calc.gongjuji.net/byte/' } ]}

转载地址:http://jyogi.baihongyu.com/

你可能感兴趣的文章
[Java]各种日志详细总结
查看>>
Maven-入门篇
查看>>
Jackson介绍(1)-jackson2.x与Jackson1.9的比较
查看>>
Nginx反向代理Tomcat
查看>>
java io-1基本概念
查看>>
【跟我学apache-commons】【四】commons-io的使用
查看>>
【HttpClient4.5中文教程】一.HttpClient简介与HTTP简介
查看>>
【HttpClient4.5中文教程】二.构建开发环境
查看>>
【HttpClient4.5中文教程】三.HttpClient执行基本请求
查看>>
【HttpClient4.5实训】一.HttpClient4.5模拟浏览器GET请求访问新浪网(非原文教程)
查看>>
【HttpClient4.5中文教程】四. HttpClient接口简介
查看>>
【HttpClient4.5中文教程】五. HttpClient执行上下文HttpContext
查看>>
【Mybatis3学习入门】【一】从JDBC到Mybatis
查看>>
【Mybatis3学习入门】【二】Mybatis快速入门
查看>>
JDBC进化史--从JDBC1.0到JDBC4.2
查看>>
XML-DOM&SAX解析
查看>>
XML-使用XStream
查看>>
XML-JDOM和DOM4J比较
查看>>
Java与Json
查看>>
Javaweb的web.xml中<url-pattern>配置
查看>>