nodejs的HTML分析利器node-jquery用法浅析

yizhihongxing

Node.js的HTML分析利器node-jquery用法浅析

什么是node-jquery

node-jquery是基于jsdom开发的一个能够在Node.js环境下使用jQuery语法的工具库。使用node-jquery可以方便地处理从HTML文档中提取想要数据的任务,尤其是对于爬虫程序。

安装node-jquery

npm install node-jquery

使用node-jquery

基本用法

var $ = require("node-jquery");

$.load("<div><p>Hello World</p></div>");
console.log($("p").text()); // 输出 "Hello World"

上述示例中,首先通过require方法引入了node-jquery模块。接着使用$.load方法将字符串"<div><p>Hello World</p></div>"中的HTML加载到DOM中,然后使用jQuery的语法选中<p>元素,并使用text()方法获取其文本内容并输出。

从URL加载页面

var $ = require("node-jquery");

$.get("http://example.com", function(data) {
    console.log(data);
});

上述示例中,通过$.get方法可以向指定URL发起GET请求,并获取返回的HTML文档。在回调函数中,可以对文档进行进一步处理,如使用$()方法选中元素,并进行相应处理。

实际应用

示例1:获取百度搜索结果

var request = require("request");
var cheerio = require("cheerio");

request.get("https://www.baidu.com/s?wd=node-jquery", function(err, res, body) {
    if(err) {
        console.error(err);
        return;
    }
    var $ = cheerio.load(body);
    $("div.c-container").each(function() {
        var title = $(this).find("h3 a").text();
        var summary = $(this).find("div.c-abstract").text();
        console.log(title + "\n" + summary + "\n");
    });
});

上述示例中,使用request模块发起到百度搜索页的请求,并获取返回的HTML文档。随后使用cheerio模块将HTML文档转换为jQuery对象。最后使用jQuery的语法选中搜索结果中的标题和摘要信息,并输出到控制台中。

示例2:爬取玩家汇WeGame网站热门单机游戏

var request = require("request");
var cheerio = require("cheerio");

request.get("https://www.wegame.com.cn/news/pcgame/hotsale/", function(err, res, body) {
    if(err) {
        console.error(err);
        return;
    }
    var $ = cheerio.load(body);
    $("ul.goods-list li").each(function() {
        var title = $(this).find("a.title").text();
        var price = $(this).find("span.price").text();
        var rating = $(this).find("div.ratings").attr("data-rating");
        console.log(title + "\t" + price + "\t" + rating + "分");
    });
});

上述示例中,使用request模块发起到玩家汇WeGame的热门单机游戏页的请求,并获取返回的HTML文档。随后使用cheerio模块将HTML文档转换为jQuery对象。最后使用jQuery的语法选中游戏的名称、价格和评价等信息,并输出到控制台中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs的HTML分析利器node-jquery用法浅析 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 如何在nodejs中体验http/2详解

    当我们使用nodejs开发Web应用程序时,常常需要涉及HTTP协议的使用。那么在HTTP/2协议下,如何在Node.js中体验HTTP/2呢?下面提供一份详细的攻略。 1. 判断Node.js版本 在Node.js中使用HTTP/2协议,需要保证Node.js版本在v8.4.0及以上。可以使用以下命令来判断当前Node.js版本: node -v 2. 安…

    node js 2023年6月8日
    00
  • node.js中的fs.lstatSync方法使用说明

    来讲一下“node.js中的fs.lstatSync方法使用说明”的完整攻略。 简介 node.js中的fs模块提供了很多API用于文件系统操作,其中fs.lstatSync方法是以同步的方式检索文件或目录的基本信息的。lstatSync方法返回一个包含文件信息的对象,包括文件类型、大小、创建修改时间等等。 语法 const fs = require(‘fs…

    node js 2023年6月8日
    00
  • coffeescript使用的方式汇总

    Coffeescript使用的方式汇总 Coffeescript是一种将CoffeeScript代码编译成JavaScript代码的语言。它通过简化JavaScript代码来提高开发人员的生产力,具有简洁、可读、可维护的特点。本文将介绍Coffeescript的使用方式。 安装Coffeescript 要使用Coffeescript,首先需要安装它。在命令行…

    node js 2023年6月8日
    00
  • Bootstrap树形组件jqTree的简单封装

    下面是“Bootstrap树形组件jqTree的简单封装”的完整攻略。 介绍 Bootstrap是非常常用的前端框架,它基于HTML、CSS和JavaScript,为开发人员提供了一套用于开发响应式、移动优先产品的工具。而jqTree是一种用于显示树形结构的jquery插件,它支持异步加载和分支选择。我们可以将jqTree与Bootstrap和其他一些前端框…

    node js 2023年6月8日
    00
  • 浅谈使用nodejs搭建web服务器的过程

    关于使用 Node.js 搭建 Web 服务器的过程, 简单来说,主要有以下几个步骤: 1. 安装 Node.js 首先需要下载和安装 Node.js。可以到官网下载适合你操作系统的版本:https://nodejs.org/zh-cn/ 2. 创建项目文件夹 创建一个新的文件夹,用于放置你的服务器相关文件。例如,我们可以在桌面上新建一个名为“my-serv…

    node js 2023年6月8日
    00
  • node的process以及child_process模块学习笔记

    下面是“node的process以及child_process模块学习笔记”的完整攻略。 process模块 在Node.js中,process是一个全局对象,提供了与当前Node.js进程相关的信息和控制。我们可以使用process对象来获取进程的信息、设置进程的环境变量等。 获取命令行参数 process.argv属性包含了当前进程的命令行参数。它是一个…

    node js 2023年6月8日
    00
  • 与ChatGPT结对编程实现代码详解

    与ChatGPT结对编程实现代码详解 介绍 ChatGPT 是一种利用深度学习技术构建的自然语言处理模型,可用于生成对话或回复。通过结对编程的方式来实现 ChatGPT 的代码可以帮助提高编写代码的效率,同时还可以促进交流和学习。 步骤 下面是与 ChatGPT 结对编程实现代码的一些步骤: 选择合适的编程平台:需要一个支持结对编程并且能够使用 ChatGP…

    node js 2023年6月8日
    00
  • 把Node.js程序加入服务实现随机启动

    将Node.js程序加入系统服务可以实现开机自动启动,无需手动执行命令,保证Node.js程序一直运行,提高服务的可靠性。下面是将Node.js程序加入服务的攻略。 1. 安装node-windows 需要使用node-windows模块将Node.js程序加入系统服务。可以使用npm安装node-windows: npm install -g node-w…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部