小编典典

在HTML(Java)中查找值的快速方法

java

使用正则表达式,最简单的方法是获取网站HTML并在此标记内找到值(或与此相关的任何属性值):

<html>
  <head>
  [snip]
  <meta name="generator" value="thevalue i'm looking for" />
  [snip]

阅读 289

收藏
2020-11-30

共1个答案

小编典典

取决于您需要构建(验证等)Http请求的复杂程度。这是我过去使用过的一种简单方法。

StringBuilder html = new StringBuilder();
java.net.URL url = new URL("http://www.google.com/");
BufferedReader input = null;
try {
    input new BufferedReader(
        new InputStreamReader(url.openStream()));

    String htmlLine;
    while ((htmlLine=input.readLine())!=null) {
        html.appendLine(htmlLine);
    }
}
finally {
    input.close();
}

Pattern exp = Pattern.compile(
    "<meta name=\"generator\" value=\"([^\"]*)\" />");
Matcher matcher = exp.matcher(html.toString());
if(matcher.find())
{
    System.out.println("Generator: "+matcher.group(1));
}

编译时可能会发现很多错别字。 (希望这不是功课)

2020-11-30