繁体   English   中英

使用NodeJS从外部页面返回Javascript变量数据

[英]Return Javascript variable data from external page using NodeJS

我试图将请求发送到页面并获取整个DOM。 基本上是爬网。 在此网站上,有一些数据,直接将一个变量直接加载到HTML(不是脚本文件)中。 使用与request一起使用的NodeJS后端,如何请求此页面并返回变量的数据? 这是一个例子:

http://some-page.com/index.html

<html>
    <head>
        <script>
            var my_var = {
                title: "Good title",
                description: "Nice description",
                page: 5
            };
        </script>
    </head>
</html>

如果访问该网站,请打开控制台并输入my_var我可以在控制台中看到其内容,因此它是一个全局变量。

我该怎么做? 如果需要,我可以使用另一个请求库。

您正在寻找jsdom: https//github.com/tmpvar/jsdom

const dom = new JSDOM(`<body>
  <script>document.body.appendChild(document.createElement("hr"));</script>
</body>`, { runScripts: "dangerously" });

// The script will be executed and modify the DOM:
dom.window.document.body.children.length === 2;

它还带有一个虚拟控制台

虚拟控制台

像Web浏览器一样,jsdom具有“控制台”的概念。 这既记录了通过文档内部执行的脚本从页面直接发送的信息,也记录了来自jsdom实现本身的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM