NodeJS 使用cheerio执行抓取的JavaScript

gzszwxb4  于 2022-11-29  发布在  Node.js
关注(0)|答案(2)|浏览(224)

我有一个网页,其中有一些JS API不改变dom,但返回一些数字。我想写一个NodeJS应用程序,下载这样的页面,并在下载的页面的上下文中执行这些函数。
我在看cheerio的页面抓取..但是当我看到用它来导航和操作DOM是多么容易的时候,我没有看到任何运行页面函数的权限。有可能这样做吗?
我应该看看jsdom吗?

vs3odd8k

vs3odd8k1#

听起来你想使用PhantomJS,它将提供完全渲染的输出,然后在上面使用cheerio。

5ktev3wc

5ktev3wc2#

Cheerio和jsdom都是HTML scraper,并没有执行JavaScript的概念。如果你想访问的API是用JavaScript编写的,那么你可以提取它们并在节点中运行它们。但是要注意,下载/执行任意的JavaScript可能会带来巨大的安全风险。如果你想模拟浏览器的行为,看看http://phantomjs.org/,这是一个用于Node的无头浏览器,可以做普通浏览器所能做的一切。

相关问题