我有一个网页,其中有一些JS API不会改变dom,但返回一些数字。 我想编写一个NodeJS应用程序来下载这些页面并在下载页面的上下文中执行这些功能。
我正在寻找cheerio页面抓取...但是虽然我看到用它来导航和操作DOM有多么容易,但是我没有看到任何运行页面功能的访问权限。有可能吗?
相反,我应该看看jsdom吗?
由于
答案 0 :(得分:4)
听起来你想使用PhantomJS,它将提供完全渲染的输出,然后使用cheerio。
答案 1 :(得分:0)
Cheerio和jsdom都是HTML抓取工具,并没有执行JavaScript的概念。如果您要访问的API是用JavaScript编写的,那么几乎没有什么可以阻止您提取它们并在节点内运行它们。请注意,下载/执行任意JavaScript可能会带来巨大的安全风险。如果要模拟浏览器的行为,请查看http://phantomjs.org/。这是Node的无头浏览器,可以完成普通浏览器的所有操作。