如何使用Node / Cheerio(或其他工具)从站点中抓取全局变量?

页面上有一个全局变量,其中包含一个我想为其设置刮板的对象。使用Node / Express /可能使用Cheerio的最佳方法是什么?

我了解Cheerio在遍历DOM方面的好处,但是我知道我要抓取的全局变量的名称,只需要按设定的时间表提取其信息即可

回答:

Cheerio只是一个dom解析器,因此您不会访问任何javascriot或任何javascript生成的内容。

您需要像PhantomJS这样的东西来模拟浏览器。

您需要了解的是phantomJS具有两个JavaScript环境,并且这两个环境彼此独立。内部脚本是文档脚本(在任何浏览器中都可以使用)。最外面的是控制phantomJS应该做什么。它模拟用户。

因此,从某种意义上讲,您需要告诉phantomJS“用户打开了任何键入的JavaScript控制台...”。该评估命令执行此操作。

因此,要读取变量的值foo,请编写以下代码:

var foo = page.evaluate(function() {

return document.foo;

});

注意:document并不是绝对必要的,但是它有助于使两个环境在开发人员的头脑中分开。

以上是 如何使用Node / Cheerio(或其他工具)从站点中抓取全局变量? 的全部内容, 来源链接: utcz.com/qa/417432.html

回到顶部