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

标签 java html regex

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

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

最佳答案

取决于您需要构建的 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));
}

编译时可能会发现很多拼写错误。 (希望这不是作业)

关于java - 在 HTML 中查找值的快速方法 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415/

相关文章:

java - 有什么方法可以使用 java.net.URI 在查询 arg 中发送 %2b(编码加号)?

java - 如何计算天数复利?

java - 在这种情况下如何使用jOOQ(或其他东西)

javascript - 是否可以突出显示输入按钮值的部分文本?

c++ - Flex Lexer 模式匹配句子分隔符/标点符号作为 URL 路径部分

regex - vbscript函数清理字符串只允许某些字符

java - 用于序列化/反序列化 unix 时间戳的 Gson 日期格式

html - 创建粘性导航栏

html - 允许在 wordpress 简码内容中使用 HTML 标签吗?

javascript正则表达式匹配路径深度