Nodejs抓取html页面内容(推荐)

Node.js 是一个用于编写高效且可扩展的网络应用程序的跨平台 JavaScript 运行时环境。它使用事件驱动、非阻塞 I/O 模型,使其轻松处理大量并发连接。在Node.js中,抓取HTML页面内容可以使用request和Cheerio两个库来实现。

安装依赖库

在使用Node.js抓取HTML页面内容之前,需要先安装所需的依赖库,即request和Cheerio。

npm install request cheerio

抓取页面内容

使用request库获取网页内容,代码如下:

const request = require('request');

let url = 'https://www.example.com';

request(url, function (error, response, body) {
    console.log(body);
});

以上代码会将请求到的整个HTML页面内容打印出来。

解析页面内容

使用Cheerio库,可以方便地从页面内容中提取所需要的数据。代码如下:

const request = require('request');
const cheerio = require('cheerio');

let url = 'https://www.example.com';

request(url, function (error, response, body) {
    const $ = cheerio.load(body);
    console.log($('title').text());
});

以上代码会输出抓取到的页面标题。

示例1:抓取图片链接

下面给出一个示例,演示如何抓取目标网站中所有的图片链接:

const request = require('request');
const cheerio = require('cheerio');

let url = 'https://www.example.com';
let images = [];

request(url, function (error, response, body) {
    const $ = cheerio.load(body);
    $('img').each(function(i, element) {
        let src = $(this).attr('src');
        images.push(src);
    });
    console.log(images);
});

以上代码会输出网页中所有的图片链接数组。

示例2:抓取电影排行榜

下面给出一个示例,演示如何抓取猫眼电影的电影排行榜:

const request = require('request');
const cheerio = require('cheerio');

let url = 'https://maoyan.com/board/4';

let movies = [];

request(url, function (error, response, body) {
    const $ = cheerio.load(body);
    $('dd').each(function(i, element) {
        let movie = {
            index: $(this).find('.board-index').text(),
            name: $(this).find('.name').text(),
            rating: $(this).find('.integer').text() + $(this).find('.fraction').text(),
            image: $(this).find('.board-img').attr('data-src')
        };
        movies.push(movie);
    });
    console.log(movies);
});

以上代码会输出猫眼电影的电影排行榜,包含电影序号、名称、评分和图片链接等信息。

除了以上示例外,Node.js还可以结合其他的库和框架来实现更加强大的功能,如使用Puppeteer库实现网站自动化测试、使用Express框架来实现前后端分离,等等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nodejs抓取html页面内容(推荐) - Python技术站

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

相关文章

  • 使用nodejs实现JSON文件自动转Excel的工具(推荐)

    使用Node.js实现JSON文件自动转Excel的工具是一件非常实用的任务。下面是详细的攻略: 1. 准备工作:安装相关工具 在开始处理工具的制作之前,要先安装相关的工具: Node.js:在开始使用Node.js之前,需要先安装Node.js(https://nodejs.org/en/)。Node.js是一个JavaScript的运行环境,可以在服务器…

    node js 2023年6月8日
    00
  • Node.js 日志处理模块log4js

    Node.js 日志处理模块log4js是一个流行的日志库,可用于记录应用程序的日志。 下面是使用log4js的完整攻略: 1. 安装log4js 使用以下npm命令安装log4js:npm install log4js –save 2. 配置log4js 创建一个名为log4js.json的配置文件(或者是一个JavaScript模块),定义日志的输出和…

    node js 2023年6月8日
    00
  • node连接mysql数据库遇到的问题和解决方案

    当使用Node连接MySQL数据库时,可能会遇到以下问题: 1.无法连接到数据库2.查询时出现错误3.无法处理回调函数 接下来我将分享一些解决这些问题的方法: 问题1:无法连接到数据库 当使用Node连接MySQL数据库时,可能会遇到无法连接到数据库的问题。出现这种情况可能是由于以下原因: 1.数据库已关闭2.重复的连接3.防火墙阻止了连接 下面是一个示例,…

    node js 2023年6月8日
    00
  • 基于PHP实现解密或加密Cloudflar邮箱保护

    让我们详细讲解一下“基于PHP实现解密或加密Cloudflare邮箱保护”的完整攻略: 什么是Cloudflare邮箱保护 Cloudflare邮箱保护是一个基于JavaScript的防止垃圾邮件机器人通过网站上的联系表单或链接获取您的站点邮箱地址的解决方案。使用此解决方案可以避免垃圾邮件袭击并保护您的电子邮件安全。 实现方法 实现Cloudflare邮箱保…

    node js 2023年6月8日
    00
  • Node.js安装详细步骤教程(Windows版)详解

    Node.js安装详细步骤教程(Windows版)详解 介绍 Node.js是一款基于Chrome V8 JavaScript引擎的JavaScript运行环境,可以在服务器端运行JavaScript,也可以用来开发桌面应用程序。下面是Node.js在Windows系统上安装的详细步骤。 步骤 1. 下载安装包 打开Node.js的官方网站 https://…

    node js 2023年6月7日
    00
  • Node.js中的Buffer对象及创建方式

    当需要在 Node.js 中处理二进制数据时,我们可以使用 Buffer 对象。Buffer 是 Node.js 的一个核心模块,通过它可以创建和操作二进制数据。 创建 Buffer 在 Node.js 中,可以使用以下几种方式来创建 Buffer 对象: 通过长度创建 Buffer 可以通过指定 Buffer 的长度来创建 Buffer 对象。例如: co…

    node js 2023年6月8日
    00
  • Sea.JS知识总结

    Sea.JS知识总结 什么是Sea.JS? Sea.JS是一个遵循CMD规范的JavaScript模块加载器,可以实现模块的异步加载、依赖管理等功能,可以使得JavaScript算法复杂的应用变得更具可维护性和清晰可见性。 Sea.JS特点 遵循CMD规范,模块的代码放在单独的文件中,在需要的时候动态加载,使得代码更为模块化、复用性更好、依赖性管理更为清晰。…

    node js 2023年6月8日
    00
  • NodeJs读取JSON文件格式化时的注意事项

    当我们需要在NodeJS中读取JSON格式的文件时,需要注意以下几点: 1. 确定文件路径和编码格式 读取JSON文件前需要确定文件的正确路径和编码格式。可以通过以下方法来确定文件路径: const path = require(‘path’); const filePath = path.join(__dirname, ‘path/to/json/file…

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