簡體   English   中英

使用JSoup獲取所有文本鏈接

[英]Use JSoup to get all textual links

我正在使用JSoup從網頁中獲取內容。

我想獲取頁面上所有包含某些文本(無論文本是什么)的鏈接,只需要將其為非空/圖像等即可。

我想要的鏈接示例:

<a href="somepage.html">Link to Some Page</a>

由於它包含文本“鏈接到某些頁面”

我不想要的連結:

<a href="somepage.html"><img src="someimage.jpg"/></a>
<a href="somepage.html"></a>

我的代碼如下所示。 如何修改它以僅獲取第一類鏈接?

Document document = // I get my document object
Elements linksOnPage = document.select("a[href]") 
for (Element page : linksOnPage) {
    String link = page.attr("abs:href");
    // I do stuff with the link
}

你可以做這樣的事情。 它確實可以做到,盡管它可能不是目前最完美的解決方案。

注意:函數text()會為您提供純文本,因此,如果其中包含HTML代碼片段,它將不會返回它們。

Document doc = // get the doc
Elements linksOnPage = document.select("a");

for (Element pageElem : linksOnPage){
    String link = "";
    if(pageElem.text().trim().equals(""))
       continue;
    // do smth with it
}

我正在使用它,並且工作正常:

Document document = // I get my document object
Elements linksOnPage = document.select("a:matches(([^\\s]+))"); 
for (Element page : linksOnPage) {
    String link = page.attr("abs:href");
    // I do stuff with the link
}

暫無
暫無

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

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