我需要使用来自不同网站的随机文本创建数据库,以便对我的句子模块进行测试。我得到的句子越多越好,因为我可以在算法中预测和涵盖的情况越多。我已经开始手动执行此操作,但我花了 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/