用jsoup库解析html meta标签

混合

刚刚开始探索Jsoup库,因为我将其用于我的一个项目。我尝试使用Google搜索,但是找不到可以帮助我的确切答案。这是我的问题,我有一个带有meta标签的html文件,如下所示

<meta content="this is the title value" name="d.title">
<meta content="this is the description value" name="d.description">
<meta content="language is french" name="d.language">

像这样的Java pojo,

public class Example {
    private String title;
    private String description;
    private String language;

    public Example() {}

    // setters and getters go here
} 

现在,我想解析html文件并提取d.title内容值,并将其存储在Example.title和d.description值的“ content”中,并将其存储在Example.description中,依此类推。

我通过阅读jsoup食谱完成的工作有点像,

Document doc = Jsoup.parse("test.html");
Elements metaTags = doc.getElementsByTag("meta");

for (Element metaTag : metaTags) {
    String content = metaTag.attr("content");
    String content = metaTag.attr("name");
}

要做的是遍历所有元标记以获取其“内容”和“名称”属性的值,但是我想要的是获取其“名称”属性为“ d.title”的“内容”属性的值这样我就可以将它存储在Example.title中

更新: @PJMeisch下面的答案实际上解决了这个问题,但是我喜欢的代码太多(试图避免做完全相同的事情)。我的意思是我在想可能可以做类似的事情

字符串标题= metaTags.getContent(“ d.title”)

其中d.title是“ name”属性的值这样,它将减少代码行,我还没有找到这种方法,但是也许是因为jsoup还是一个新手,这就是我问的原因。但是,如果不存在这样的方法(如果这样做的话,那就更好了,因为它会使生活更轻松),我会选择PJMeisch说。

梅杰

好的,所有代码:

Document doc = Jsoup.parse("test.html");
Elements metaTags = doc.getElementsByTag("meta");

Example ex = new Example();

for (Element metaTag : metaTags) {
  String content = metaTag.attr("content");
  String name = metaTag.attr("name");

  if("d.title".equals(name)) {
    ex.setTitle(content);
  }
  if("d.description".equals(name)) {
    ex.setDescription(content);
  }
  if("d.language".equals(name)) {
    ex.setLanguage(content);
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML <meta>标签

来自分类Dev

Rails 4-Meta标签HTML安全

来自分类Dev

我可以在meta标签中使用HTML字符实体吗?

来自分类Dev

如何使用php删除特定的html meta标签?

来自分类Dev

使用Pandoc从HTML META标签创建YAML元数据

来自分类Dev

如何在html中覆盖现有的meta标签?

来自分类Dev

使用Jsoup HTML解析器解析注释标签

来自分类Dev

如何在Jsoup解析中避免围绕HTML Head标签

来自分类Dev

用Jsoup解析表html

来自分类Dev

JSoup解析标签中的数据

来自分类Dev

使用 Jsoup 解析 dl 标签

来自分类Dev

如何将php生成的图像传递到html meta标签

来自分类Dev

BeautifulSoup + Unicode,该死-尽管meta标签中指定了字符集,但html还是乱码

来自分类Dev

PHP:使用来自html meta标签的对应键填充数组值

来自分类Dev

直接在视图中从Laravel中的meta属性删除HTML标签

来自分类Dev

正则表达式以扫描html并从meta refresh标签返回URL

来自分类Dev

Jsoup仅删除html标签

来自分类Dev

使用Jsoup选择HTML标签

来自分类Dev

用Beautifulsoup解析时在HTML中更改标签

来自分类Dev

用lxml,python,.tail解析的HTML被<br>标签分解

来自分类Dev

用lxml,python,.tail解析的HTML被<br>标签分解

来自分类Dev

如何使用jsoup解析lu,li标签?

来自分类Dev

Java jsoup解析特定标签

来自分类Dev

Scrapy:从meta标签提取值

来自分类Dev

通过php调用meta标签

来自分类Dev

在Javascript中填充Meta标签

来自分类Dev

Meta 标签上的 Thymeleaf 功能

来自分类Dev

HTML标签库功能

来自分类Dev

如何使用jsoup用span标签替换特定的div标签