JSOUP:解析HTML文档中的Javascript字段?

时间:2012-04-22 17:49:17

标签: javascript parsing jsoup

我是JSOUP的新手,我在使用标签或id值上的Element.select解析时没有任何问题。我遇到的问题是如何在页面中屏幕抓取javascript代码。在这里我加载文档:

Document doc = Jsoup.connect(pageUrl)
                .userAgent(Agent)
                .timeout(5000)
                .get();

我想要提取的javascript字段值如下:

arrayGPSLocation["0"]    = "-19473982376,6848295867";
arrayGPSLocation["1"]    = "-19473982376,6848296245";

由于这些数组值不在标准代码标记中<>是JSOUP这样做的合适方式吗?我喜欢JSOUP的API。唯一的另一种方法是将String例程一起攻击... 即:

int start = pageBuffer.indexOf("arrayGPSLocation[\" + counter + \"]");
int end = pageBuffer.indexOf(";");
String result = pageBuffer.subString(start,end);

这个伪代码示例在解析大页面时会出现严重的性能问题。有谁知道如何使用JSOUP完成此任务,还是应该编写自己的刮刀?

1 个答案:

答案 0 :(得分:2)

你可以用Jsoup做的所有事情 - 选择包含javascript代码的Element,将其值作为String并使用此字符串。就像你在例子中这样做。