如何使用类名中的特定单词提取HTML标记?

时间:2015-07-30 01:27:12

标签: java html jsoup

如何查找和提取具有类名的html标记。但是,在我的情况下,我不会知道整个班级名称,只是一个单词。例如,在下面的html文件中,我想用类="by line vcard top-line"提取引用标记,但我只知道该类包含vcard?我正在使用jsoup。

<div class="credit">
    <div class="credit-text">
         <cite class="byline vcard top-line">
                By Taylor Hill | Takepart.com
                <abbr>July 28, 2015 3:27 PM</abbr>
          </cite>
          <span class="bottom-line">
             <a href="http://www.takepart.com/" data ylk=ltxt:TakePartcom;">
             <span class="provider-name">TakePart.com</span></a>
          </span>
        </div>
     </div>
   </div>

1 个答案:

答案 0 :(得分:1)

我刚看了一下jsoup(首先我听说过),看起来你可以通过getElementsByClass(String className)方法找到基于它的类所需的元素

所以在你的情况下你会使用:     getElementsByClass(“var”)

那只会给你元素。要获取其内容,您似乎必须调用html()方法。

所以你的代码看起来或多或少是这样的:

Elements links = content.getElementsByClass("var");
for (Element link : links) {
   String linkHtmlContents = link.html();
}

http://jsoup.org/cookbook/extracting-data/dom-navigation

我相信你可以通过调用vcard类上的html()函数来实现相同的JQuery。如:

$(".vcard").html()

那应该返回第一个匹配元素的HTML内容,这样你就可以在循环中执行此操作来获取每个元素,或者使用text()函数来获取所有元素的内容。

了解更多信息:http://api.jquery.com/html/