【问题标题】:How to find a specific meta tag如何找到特定的元标记
【发布时间】:2012-01-03 08:19:28
【问题描述】:

我正在尝试使用 Java 中的 Jsoup 解析器检索元标记(标记名称=生成器)。

我的代码如下:

Elements metalinks=doc.select("meta"); // meta

boolean metafound=false;
for (Element singlemeta : metalinks) 
{
    metatagname = singlemeta.attr("abs:name");
    metatagcontent = singlemeta.attr("abs:content");
    if((metatagname=="Generator")||(metatagname=="generator")||(metatagname=="GENERATOR")){
        //  this is the tag we want to get value of...
        metarequired=metatagcontent;
        metafound=true;
    }
}   
if(metafound==false)
    metarequired="NOT_FOUND";

但是我无法正确提取元GENERATOR 标签。

下面给出了这个标签的一个例子:

<meta name="generator" content="Test page" />

对于上面给出的代码的第一行,我也尝试了以下代码,但也不起作用:

//Elements metalinks= doc.getElementsByTag("meta");

如何正确提取元标记?

【问题讨论】:

    标签: java html-parsing jsoup


    【解决方案1】:

    看起来好像你把它弄得太复杂了。如果你从这样简单的开始会怎样:

    Elements metalinks = doc.select("meta[name=generator]");
    

    【讨论】:

    • ... 如果你想从标签中选择内容,那么metalinks.select("content").first().toString()
    • 感谢 Hovercraft,我正在使用它来提取 OpenGraph 标签,这是最好的方法。元素 metaOgTitle = doc.select("meta[property=og:title]");元素 metaOgTitle = doc.select("meta[property=og:image]");
    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多