我有一个网页,其中有一些JS API不改变dom,但返回一些数字。我想写一个NodeJS应用程序,下载这样的页面,并在下载的页面的上下文中执行这些函数。我在看cheerio的页面抓取..但是当我看到用它来导航和操作DOM是多么容易的时候,我没有看到任何运行页面函数的权限。有可能这样做吗?我应该看看jsdom吗?
vs3odd8k1#
听起来你想使用PhantomJS,它将提供完全渲染的输出,然后在上面使用cheerio。
5ktev3wc2#
Cheerio和jsdom都是HTML scraper,并没有执行JavaScript的概念。如果你想访问的API是用JavaScript编写的,那么你可以提取它们并在节点中运行它们。但是要注意,下载/执行任意的JavaScript可能会带来巨大的安全风险。如果你想模拟浏览器的行为,看看http://phantomjs.org/,这是一个用于Node的无头浏览器,可以做普通浏览器所能做的一切。
2条答案
按热度按时间vs3odd8k1#
听起来你想使用PhantomJS,它将提供完全渲染的输出,然后在上面使用cheerio。
5ktev3wc2#
Cheerio和jsdom都是HTML scraper,并没有执行JavaScript的概念。如果你想访问的API是用JavaScript编写的,那么你可以提取它们并在节点中运行它们。但是要注意,下载/执行任意的JavaScript可能会带来巨大的安全风险。如果你想模拟浏览器的行为,看看http://phantomjs.org/,这是一个用于Node的无头浏览器,可以做普通浏览器所能做的一切。