如何使用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