在node.js中的Webscraper,JS修改了DOM
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在node.js中的Webscraper,JS修改了DOM相关的知识,希望对你有一定的参考价值。
我正在尝试写一个webscraper,以获得一些销售线索。问题是在现代网页设计中,大多数网站使用一些javascript来修改DOM(通常使用React,Angular,甚至只是一些jQuery)。问题是,如果我通过request
node.js包废弃一些网站,并将html代码传递给cheerio
,那么我根本无法解析代码并获得我想要的信息。相反,我所能看到的只是一些React.js组件¯_ツ_ /¯这个主题的任何资源都会有所帮助,在此先感谢。
答案
因为request包不会执行页面上的任何javascript。它只会按原样下载html。如果你想像浏览器那样看到实际的页面,你必须创建一个javascript解析器,以你想要的状态执行所有的javascript代码。
幸运的是,这里还有其他一些选择:
- 您可以查看要抓取的网站上的开发人员工具,并尝试查找获取所需数据的xhr请求。然后你可以直接调用这个url。
- 您可以像PhantomJS或CasperJS一样使用无头浏览器抓取。这些包将尝试使用包含的javascript资源尽可能好地修改下载的dom。
以上是关于在node.js中的Webscraper,JS修改了DOM的主要内容,如果未能解决你的问题,请参考以下文章