java - 如何在类名中提取带有特定单词的 HTML 标签?

标签 java html jsoup

我如何找到并提取具有类名的 html 标记。但是,就我而言,我不会知道整个类名,只知道一个词。例如在下面的html文件中,我想提取类="by line vcard top-line"的cite标签,但我只知道该类包含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>

最佳答案

我只是快速浏览了一下 jsoup(我第一次听说),看起来您可以通过 getElementsByClass(String className) 方法根据其类找到所需的元素

所以在你的情况下你会使用: getElementsByClass("变量")

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

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

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

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

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

$(".vcard").html()

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

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

关于java - 如何在类名中提取带有特定单词的 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713801/

相关文章:

html - 网格布局下的 IE 10/11 和 Edge 页脚问题

java - 有没有办法使用 JSoup 操作部分 HTML 页面

java - 一个线程大部分时间都在运行

java - Mac OS X 10.10 (Yosemite) Java Swing 外观和感觉?

html - 防止子 div 拉伸(stretch)

jquery - 如何在容器中垂直和水平居中 div

java - Jsoup 意外异常,正在工作并突然停止

java - 为什么 jackson 这么慢?

java - 所有重复的单词

java - order by on long 的开销