如何使用python或nodejs从HTML页面提取json格式的javascript对象?

如何使用python或nodejs从HTML页面提取json格式的javascript对象?,python,node.js,Python,Node.js,上面的网页是这样的。据我所知,JSON不支持单引号,只允许双引号。因此,{}中的内容不是有效的JSON对象。从生成的HTML页面中提取此对象并将其转换为JSON的最佳方法是什么?谢谢 var helpMap = {'NcRNAGene': ... 这一条提到了JSON.stringify。但我不知道如何首先在python或nodejs中获取作为JS对象的helpMap 在该网站的控制台中,您可以编写javascript。在本例中,您是对的,JSON.Stringify就是您在这里想要的,您可以

上面的网页是这样的。据我所知,JSON不支持单引号,只允许双引号。因此,{}中的内容不是有效的JSON对象。从生成的HTML页面中提取此对象并将其转换为JSON的最佳方法是什么?谢谢

var helpMap = {'NcRNAGene': ...
这一条提到了
JSON.stringify
。但我不知道如何首先在python或nodejs中获取作为JS对象的helpMap


在该网站的控制台中,您可以编写javascript。在本例中,您是对的,JSON.Stringify就是您在这里想要的,您可以通过将javascript对象
helpMap
作为参数传递给它来使用它,结果是JSON编码的字符串:

jsonString = JSON.stringify(helpMap)
console.log(jsonString)

您应该能够将json字符串从控制台中复制出来(在chrome中,它的末尾将有一个“复制”按钮)。

在该网站的控制台中,您可以编写javascript。在本例中,您是对的,JSON.Stringify就是您在这里想要的,您可以通过将javascript对象
helpMap
作为参数传递给它来使用它,结果是JSON编码的字符串:

jsonString = JSON.stringify(helpMap)
console.log(jsonString)

您应该能够将该json字符串从控制台中复制出来(在chrome中,它的末尾将有一个“复制”按钮)。

假设该网页已下载到x.html,请运行以下命令

grep '^ \+var helpMap' < x.html | ./main.js

然后在
helpMap
上使用
JSON.stringify()
,如果需要。

假设该网页已下载到x.html,请运行以下操作

grep '^ \+var helpMap' < x.html | ./main.js

然后在
helpMap
上使用
JSON.stringify()
,如果需要的话。

否。我需要它在命令行中,而不是在浏览器中,正如我提到的python或nodejs。很抱歉,我误解了这个问题,我以为您只想获取JSON一次,但听起来您想重新加载页面以获得更改。可能你想下载/浏览网页,然后找到你关心的javascript代码,或者通过搜索它正在查找的行
var-helpMap=
或者类似的内容,然后将该行解析为javascript,然后将其转换为JSON。一旦我调用了
esprima.parseScript(“var-helpMap=…”)
,如何获取helpMap的对象?不。我需要它位于命令行,而不是浏览器中,正如我提到的python或nodejs。很抱歉,我误解了这个问题,我以为您只想获取JSON一次,但听起来您想重新加载页面以获得更改。可能你想下载/浏览网页,然后找到你关心的javascript代码,或者通过搜索它正在查找的行
var-helpMap=
或者类似的内容,然后将该行解析为javascript,然后将其转换为JSON。一旦我调用了
esprima.parseScript(“var-helpMap=…”)
,如何获取帮助地图的对象?您希望从该网站获得哪些数据?看起来他们确实有一个可以与之交互的API。。更多信息,请参阅和。他们似乎在使用Interne来提供他们的API。但我想提取的是元数据,而不是保存在Interne中的数据。你想提取什么数据?只是帮助地图中的列表。也许我没有看到与你相同的东西。。。你能发布一个你想收集什么的截图吗?你到底想从那个网站获得什么数据?看起来他们确实有一个可以与之交互的API。。更多信息,请参阅和。他们似乎在使用Interne来提供他们的API。但我想提取的是元数据,而不是保存在Interne中的数据。你想提取什么数据?只是帮助地图中的列表。也许我没有看到与你相同的东西。。。你能发布你想收集的内容的截图吗?