首页 > 编程语言 >[GPT] 网页中某些dom内容是通过 js 数据异步渲染的,nodejs 怎么获取网页解析这些数据

[GPT] 网页中某些dom内容是通过 js 数据异步渲染的,nodejs 怎么获取网页解析这些数据

时间:2023-07-02 21:35:33浏览次数:40  
标签:const nodejs await puppeteer dom 网页 page browser

通过llama.cpp与羊驼聊天的网页界面- 详解 Serge 的启动使用

 

要处理使用JavaScript异步渲染内容的网页,您可以在 JavaScript 蜘蛛中使用 PuppeterPlaywright 等无头浏览器来获取网页,然后与动态渲染的内容进行交互。

 

下面是一个使用Puppeteer的例子:

const puppeteer = require('puppeteer');
(async () => { // Launch a headless browser const browser = await puppeteer.launch(); const page = await browser.newPage();
// Navigate to the webpage await page.goto('http://example.com');
// Wait for the asynchronous content to load await page.waitForSelector('#async_content');
// Extract the data from the dynamically rendered content const data = await page.evaluate(() => { const asyncContent = document.querySelector('#async_content'); return asyncContent.innerHTML; });
// Process or parse the extracted data as needed console.log(data);
// Close the browser await browser.close(); })();

 

在本例中,Puppeter 用于启动无头浏览器并导航到所需的网页。我们使用 page.waitForSelector() 来等待包含异步呈现内容的特定元素出现在页面上。

然后,我们使用 page.eevaluate() 在页面的上下文中执行自定义 JavaScript 代码,并提取包含动态呈现内容的元素的内部 HTML。

您可以修改 page.eevaluate() 函数以提取特定数据或对内容执行任何必要的解析或操作。

 

在运行代码之前,请记住使用 npm install puppeteer 或 yarn  add puppeteer 安装 Puppeteer。

 

Link:https://www.cnblogs.com/farwish/p/17521445.html

标签:const,nodejs,await,puppeteer,dom,网页,page,browser
From: https://www.cnblogs.com/farwish/p/17521445.html

相关文章

  • 什么是 ABAP Domain 的 Conversion Routine
    ABAP(AdvancedBusinessApplicationProgramming)是一种高级业务应用编程语言,由德国软件公司SAPSE开发。ABAP用于开发和定制SAPERP系统。在SAPERP系统中,数据的组织和存储通过数据字典(DataDictionary)进行管理。数据字典中的一个重要组成部分是Domain。Domain是一个抽象层,用于定......
  • vue的虚拟DOM
    1、作用提高性能(直接操作DOM性能低,js层操作效率高)跨平台2、虚拟DOM如何生成1、为组件编写模版-template2、模版被编译器编译渲染为函数-render3、挂载中调用render函数,返回对象就是虚拟DOM4、后续patch过程中进一步转化成真实DOM3、VDOM如何diff1、挂载过程结束,记录第一......
  • [代码]如何在ASP.NET网页间传递数据
    重点总结目前为止在ASP.NET网页中传递数据的方式至少有5种:1、通过查询字符串传递数据。2、通过HTTPPOST传递数据。3、通过会话状态传递数据。4、通过源页的公共属性传递数据。5、通过源页中的控件值传递数据。到底使用哪种方式来进行数据的传递,这可能受到两方面的影响:1、页面重定......
  • [代码]如何在ASP.NET网页间传递数据
    重点总结目前为止在ASP.NET网页中传递数据的方式至少有5种:1、通过查询字符串传递数据。2、通过HTTPPOST传递数据。3、通过会话状态传递数据。4、通过源页的公共属性传递数据。5、通过源页中的控件值传递数据。到底使用哪种方式来进行数据的传递,这可能受到两方面的影响:1、页面重定......
  • 怎样做一个基于网页的成绩查询系统
    作为一名老师,我们经常需要统计学生的成绩。传统的成绩管理方式可能会带来很多问题,如成绩数据容易丢失、难以管理和查询等。为了解决这些问题,我们可以使用基于网页的成绩查询系统。这个系统可以让老师轻松地管理和查询学生成绩,同时也可以让学生方便地查看自己的成绩,如果对编程技术......
  • Nodejs开发web后台
    Nodejs开发web后台expressexpress介绍express是一个基于Node.js平台的极简、灵活的WEB应用开发框架,官方网址简单来说,express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用(HTTP服务)express使用express本身是一个npm包,所以可以通过npm安装#初始化一个项目npmini......
  • 提升网页阅读体验的三款优秀大纲插件(2023)
    阅读长篇文章或复杂网页时,清晰的大纲结构可以帮助我们更好地理解和组织信息。在这篇博客中,我将向大家推荐三款优秀的网页大纲插件,帮助您提升阅读效率和体验。FlashOutlineFlashSwitcher是一个专注于提高浏览器使用效率和体验的综合插件,其最新的智能大纲功能专门为提高网页阅读体......
  • [代码]DOM和LINQ to XML创建XML树的三种方式
    此代码主要示范了DOM和LINQtoXML三种创建XML树的方式。第01种、使用W3CDOM创建XML树可以使用XmlDocument.CreateElement()方法创建XML元素。使用XmlElement.InnerText为元素添加内容,比如在元素的开始标记和结束标记之间添加字符串内容。使用XmlElement.SetAttribute()方法为元素......
  • vane 一个适用于前端打工人的全栈框架,nodejs+vue3+typescript
    vane写这个的初衷是因为每次用node写接口的时候总是需要一些写大一堆的东西,也有些人把很多接口都放在一个js文件内,看起来很是杂乱,后来用到nuxt写的时候,感觉用文件名来命名接口路径很是方便,无论是query参数还是params参数,都可以通过文件名来命名,也可以通过文件夹层级......
  • Spectrum Random Masking for Generalization in Image-based Reinforcement Learning
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ......