2012-05-27 112 views
1

我正在嘗試從html源代碼獲取RSS鏈接。我使用了Jsoup java庫來查找rss鏈接。我寫了一小段代碼來獲取RSS鏈接,但不幸的是它並不適用於所有網站。以下是我的代碼Java使用JSOUP從HTML源代碼獲取RSS鏈接

String url = "http://www.smashingmagazine.com/"; // not working 
Document doc = Jsoup.connect(url).get(); 
Elements links = doc.select("link[type=application/rss+xml]"); 

if (links.size() > 0) { 
    String rss_url = links.get(0).attr("href").toString(); 
} else { 
    // RSS url not found 
} 

上述代碼不適用於所有網站。請解決我的問題。 (我試圖找到RSS 2.0的鏈接)

謝謝

+0

你爲什麼不走了[砸MAGZINE的RSS提要](http://rss1.smashingmagazine.com/ feed /)並使用基於Java的RSS解析器(如羅馬)解析它。上述過程可以在任何提供RSS提要的網站上重複使用。 – RanRag

+0

沒有網址不是靜態的。用戶可以給任何網站的網址,我需要找到RSS網址並解析它。 – user911236

+0

如果你觀察你的網頁沒有'application/rss + xml'而不是'application/atom + xml' – RanRag

回答

2

的答案是:

String url = "http://www.smashingmagazine.com/"; // not working 
Document doc = Jsoup.connect(url).get(); 

Elements links = doc.select("link[type=application/rss+xml]"); 

if (links.size() > 0) { 
    String rss_url = links.get(0).attr("abs:href").toString(); 
} else {.... 
    // RSS url not found 
} 

我希望這將是對你合適。 它與.attr(* 「ABS: * HREF」)

ERTU