Jsoup - 打印 element.data() 什么都不打印

Jsoup - Printing element.data() prints nothing

所以我正在尝试打印 HTML 文档中某个 <div> 元素内的文本。

出于某种原因,当我调用 data() 方法时,我得到一个空的控制台。

public class Program 
{
    public static void main(String[] args) 
    {
        System.out.println("Program starts:");
        try 
        {

            Document document2 = Jsoup.connect("http://www.azlyrics.com/lyrics/eminem/mynameis.html").get();
            Element element3 = document2.select("div.lyricsh").first();

            System.out.println(element3.data());
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    } // End of main method
} // End of Program class

我将选择器放在这个 HTML 文档 http://www.azlyrics.com/lyrics/eminem/mynameis.html 中。它在第 150 行。

我的代码有什么问题?谢谢。

尝试System.out.println(element3.text());

data() 方法适用于 dataNodes,例如如果您想获取 <script> 标签的内部。

text() 将获取元素内所有 textNodes 的(组合)文本。如果您只想要附加到相关元素的文本,您可以使用 ownText()