javascript - 如何从nodejs中的外部url检索DOM对象

标签 javascript node.js dom iframe npm

我需要使用来自不同网站的随机文本创建数据库,以便对我的句子模块进行测试。我得到的句子越多越好,因为我可以在算法中预测和涵盖的情况越多。我已经开始手动执行此操作,但我花了 8 个小时才检索到 500 页文本,效率不高。

我想知道是否可以将网站加载到某个 npm 模块中,这样我就可以获得该网站的 DOM 对象,然后使用 JS 从例如检索文本。 <p>, <h1-6>, <li>元素。在网络浏览器中,在 F12 中devTools 窗口可以访问 DOM。是否有可能同样使用一些桌面 npm 包访问 DOM?

我所知道的是,不可能访问加载到 iframe 中的外部网站的 DOM。从桌面使用 nodeJS 怎么样?

最佳答案

好吧,如果我正确理解了你的问题,我认为这似乎是 web scraping ,并获取 DOM 元素和它下面的东西,如果是这种情况,那么你可以使用 npm 模块做网络抓取的东西,一个非常有名的 npm 模块是。

1。干杯: 它是 jQuery 的服务器端版本,如果您熟悉 jQuery,使用起来会很轻松,而且它轻巧且使用灵活。基本上在获取远程内容(ajax 请求或任何 http 请求)之后,可以像 jQuery 中的 dom 选择一样解析,这样做的一个缺点是,它无法获取网站或页面上发生的动态内容。


2。 JSDom: 这是最接近 headless 浏览器的东西,它在页面或 DOM 上提供紧密的表示,它使用其带下的 websockets 返回页面上的内容,它还返回页面上更新的动态内容

关于javascript - 如何从nodejs中的外部url检索DOM对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925902/

相关文章:

javascript - 使用父 onclick 事件显示和隐藏隐藏的 div

javascript - 在 jQuery 的 ajax.load() 之后,无法将元素附加到新加载的内容

javascript - Cordova Web 应用程序中的焦点输入

javascript - 单击按钮时显示/隐藏 div 元素

javascript - 为什么此警报返回未定义

javascript - 使用 React 和 Electron - react 路由器错误

javascript - 在 node.js 中验证一个集合是否为空

javascript - 在socket.io中的每个连接的客户端上显示光标

Node.js(&MongoDB)服务器崩溃,数据库操作中途?

javascript - 保存本地文本文件,检测 contenteditable div 的新行和空格