首页 » 网站建设 » php解析html节点技巧_掌握 Nodejs 中解析 HTML 的基本方法和应用场景

php解析html节点技巧_掌握 Nodejs 中解析 HTML 的基本方法和应用场景

duote123 2024-11-01 0

扫一扫用手机浏览

文章目录 [+]

1.Cheerio:Cheerio 是一个类似于 jQuery 的库,它可以在做事器端利用 CSS 选择器来解析 HTML 并操作 DOM。
它适用于解析静态 HTML 页面。

2.jsdom:jsdom 是一个在 Node.js 中仿照 DOM 环境的库。
它能够解析和操作 HTML,同时还支持仿照浏览器环境中的许多特性,如事宜处理和异步要求。

php解析html节点技巧_掌握 Nodejs 中解析 HTML 的基本方法和应用场景

3.htmlparser2:htmlparser2 是一个快速的 HTML 解析器,它能够将 HTML 文档解析成 DOM 节点流。
它常日用于处理大型 HTML 文档或流式数据。

php解析html节点技巧_掌握 Nodejs 中解析 HTML 的基本方法和应用场景
(图片来自网络侵删)
实践案例:利用 Cheerio 解析 HTML

以下是一个利用 Cheerio 解析 HTML 的实际案例,个中包含基本的路由与要求处理。
确保你的开拓环境中已经安装了 Node.js 和 npm。

1、首先,创建一个新的文件夹,并在该文件夹中运行以下命令初始化项目:

npm init -y

2、安装所需的依赖库:

npm install express cheerio axios

3、创建一个名为 index.js 的文件,然后编写以下代码:

const express = require('express');const axios = require('axios');const cheerio = require('cheerio'); // 引入 cheerio 库,用于解析 HTMLconst app = express();const PORT = 3000;app.get('/', async (req, res) => { try { // 利用 Axios 发起 GET 要求获取网页的 HTML 内容 const response = await axios.get('https://apifox.com/blog/mock-manual/'); // 更换为你想要解析的网页 URL const html = response.data; // 获取相应中的 HTML 内容 const $ = cheerio.load(html); // 将 HTML 文本通报给 cheerio,创建一个类似于 jQuery 的工具 // 利用 cheerio 工具的选择器来获取网页标题,并提取文本内容 const title = $('title').text(); res.send(`Title: ${title}`); // 将标题作为相应发送给客户端 } catch (error) { console.error(error); res.status(500).send('An error occurred'); // 发生缺点时发送缺点相应 }});app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); // 启动做事器并监听指定端口});

在上述代码中,注释阐明了每个关键步骤的浸染:

通过 axios.get() 发起 GET 要求,获取网页的 HTML 内容。
利用 Cheerio 的 $ = cheerio.load(html) 创建了一个可用于选择 DOM 元素的 Cheerio 工具。
通过 $() 利用类似于 jQuery 的选择器,获取 <title> 元素的文本内容。
末了,将提取的标题作为相应发送给客户端。
在这个案例中,我们利用 Express 来创建一个大略的做事器,当访问根路由时,我们利用 Axios 获取网页的 HTML 内容,然后利用 Cheerio 解析并提取网页标题。
在浏览器或 API 工具中访问 http://localhost:3000/,你将看到相应。
什么是 axios?如何利用 axios?一文快速入门

提示、技巧与把稳事变在利用 Cheerio、jsdom 或 htmlparser2 时,务必理解它们的文档和用法,以充分利用其功能。
当解析繁芜的动态页面时,考虑利用仿照浏览器行为的库,如 Puppeteer。
利用接口工具调试后端接口

以 Apifox 为例,Apifox = Postman + Swagger + Mock + JMeter,Apifox 支持调试 http(s)、WebSocket、Socket、gRPC、Dubbo 等协议的接口,并且集成了 IDEA 插件。
在后端职员写完做事接口时,测试阶段可以通过 Apifox 来校验接口的精确性,图形化界面极大的方便了项目的上线效率。

在本文的例子中,就可以通过 Apifox 来测试接口。
新建一个项目后,在项目中选择 “调试模式” ,填写要求地址后即可快速发送要求,并得到相应结果,上文的实践案例如图所示:

总结

Node.js 供应了多种方法来解析 HTML,包括 Cheerio、jsdom 和 htmlparser2。
选择适宜你需求的库,可以轻松地操作和提取网页内容。

知识扩展:

Node.js 中怎么拷贝文件?nodejs 拷贝文件的方法如何在线建一个 JAVA 的 Spring Boot 项目?Spring Boot 快速入门 Helloworld 示例

参考链接:

Cheerio 官方文档:https://cheerio.js.org/jsdom GitHub 仓库:https://github.com/jsdom/jsdomhtmlparser2 GitHub 仓库:https://github.com/fb55/htmlparser2
标签:

相关文章

php为无色透明技巧_水货钻石其实也还行

从各种钻石中,可以看到大大小小的“包裹体” 图片来源:参考文献包裹体的种类多样。比钻石形成更早的包裹体,叫“原生包裹体”;与钻石同...

网站建设 2024-12-19 阅读0 评论0

phpstudy发送gbk技巧_php的文件上传

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己去世磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步...

网站建设 2024-12-19 阅读0 评论0