我需要使用来自不同网站的随机文本创建数据库,以便对我的模块进行测试。我得到的句子越多越好,因为我可以预测和覆盖算法的案例越多。我已经开始手动执行此操作,但是我花了8个小时才检索到500页不太有效的文本。
我想知道是否可以将网站加载到某个npm模块中,这样我就可以获得该网站的DOM对象,然后使用JS从中检索文本。 <p>, <h1-6>, <li>
元素。在Web浏览器中,在F12
devTools窗口中可以访问DOM。是否可以使用某些桌面npm软件包访问DOM?
我所知道的是,不可能访问加载到iframe中的外部网站的DOM。那么从桌面使用nodeJS呢?
答案 0 :(得分:1)
好吧如果我理解你的问题,我认为这似乎是web scrapping
,并且在它下面获取DOM元素和东西,如果是这种情况那么你可以使用npm模块进行网络报废这些东西,其中众所周知的npm模块是。
1. Cheerio:
它是jQuery的服务器端版本,如果你熟悉jQuery就可以轻松自如地工作,而且它的重量轻且灵活。基本上在获取远程内容(ajax请求或任何http请求)之后,可以将其解析为与jQuery中的dom选择相同,这是一个缺点,它在获取网站或页面上发生的动态内容方面存在不足。
2. JSDom:
这与无头浏览器最接近,它在页面或DOM上提供了紧密的表示,它使用自带的websockets返回页面上的内容,它还返回页面上更新的动态内容