簡體   English   中英

Jsoup獲取href的內容

[英]Jsoup getting contents of href

我正在使用 Jsoup 開發 web 刮板,並希望從表格中拉出鏈接。

這就是我正在看的:

<ul class="inline-list indent>
    <li>
        ::marker
        <a href="www.linkhere.com" title="Some Text">Some Other Text</a>
        (Date & Time Stamp)
    </li>   

我想要www.linkhere.com和其他一些文本。 我已經想出了如何獲得 Some Other Text,但我無法獲得www.linkhere.com

這是我嘗試過的:

Document results = Jsoup.connect(url).get();
tTable = ("li:nth-of-type(1)");

Element row : results.select("ul.indent.inline-list:nth-of-type(1)")
Element link = results.select("ul.indent.inline-list:nth-of-type(1) > a").first();

tName = row.select(tTable).text();
articleLink = link.attr("href");

System.out.println(tName);
System.out.println(articleLink);

這給了我錯誤:

NullPointerException:無法調用“org.jsoup.nodes.Element.attr(String)”,因為“llink”是 null

您正在使用這樣的選擇器:

"ul.indent.inline-list:nth-of-type(1) > a"

第一部分ul.indent.inline-list:nth-of-type(1)選擇第一個<ul>元素。 第二部分> a期望<a>將是<ul>的直接子級。 這與您想要的不匹配,因為它們之間有<li>元素,因此解決方案是使用:

"ul.indent.inline-list:nth-of-type(1) > li > a"

或者如果您的想法是匹配第一個<li>您必須使用:

"ul.indent.inline-list > li:nth-of-type(1) > a"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM