试图用HTML中的javascript提取Json字符串

时间:2014-05-27 07:55:08

标签: javascript json node.js web-scraping scrape

我使用NodeJS进行网页抓取。

我有一个复杂的HTML字符串。它包含许多html标签和一些jave脚本块。每个javascript块包含带有一些参数的js函数,每个参数都是一个Json字符串。我只对那些Json字符串感兴趣。什么是提取它们的最佳方式?

示例代码:

<html>
    <header>...</header>
    <script>function1(param1:[{a:"V1"},{b:"v2"}],param2:[{c:"v3"},{d:"v4"}])</script> 
    <script>...</script>
    <body>...</body>
</html>

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

首先,使用cheerio解析html。这将允许您使用jQuery语法la <script>$('script').text()标记内正确提取javascript文本(您可能希望循环遍历所有脚本标记)。一旦你自己提取了javascript,使用esprima来解析javascript,找到所有的函数调用,并找到所有的文字参数。与正则表达式一起黑客攻击这两个库将更加正确。从小处开始,发布一个代码片段,如果遇到问题,请回来寻求帮助。