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

通过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。

 

Cool:ChatAI

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

posted on   ercom  阅读(125)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-07-02 [php-src] 扩展中封装业务与 call_user_function 的使用建议

统计

点击右上角即可分享
微信分享提示