Java 在HTML源代码中识别RSS链接

Java 在HTML源代码中识别RSS链接,java,rss,html-parser,Java,Rss,Html Parser,有没有办法从HTML文本代码中识别RSS链接。我需要用JAVA代码从HTML源代码中提取这个链接,但我找不到一种方法,不同的网站如何在web的HTML代码中嵌入他们的RSS链接。有些网站使用“type=application/rss+xml”,但并非全部用于discovery.com和cnn.com。有什么方法可以为任何网站编写代码吗?目前我已经解决了我的问题,但如果有人能告诉我更简洁高效的代码,我将不胜感激。我认为我的代码没有那么有效,只是一个大循环来解决小问题。我的第一部分代码取自user9

有没有办法从HTML文本代码中识别RSS链接。我需要用JAVA代码从HTML源代码中提取这个链接,但我找不到一种方法,不同的网站如何在web的HTML代码中嵌入他们的RSS链接。有些网站使用“type=application/rss+xml”,但并非全部用于discovery.com和cnn.com。有什么方法可以为任何网站编写代码吗?

目前我已经解决了我的问题,但如果有人能告诉我更简洁高效的代码,我将不胜感激。我认为我的代码没有那么有效,只是一个大循环来解决小问题。我的第一部分代码取自user911236关于stackoverflow的文章

我的代码:

公共静态字符串RSSLinkRetriever(字符串url) {

公共静态字符串rssURLNews(字符串url){

公共静态字符串rssURLrss(字符串url) {

    String rssUrl = "";    
    try{
          Document doc = Jsoup.connect(url).get();

          Elements links = doc.select("link[type=application/rss+xml]");
          if (links.size() > 0) {
              rssUrl = links.get(0).attr("abs:href").toString();
          }
          else if(rssURLNews(url) != ""){

            rssUrl = rssURLNews(url);
          }
          else if(rssURLrss(url) != "")
              rssUrl = rssURLrss(url);
          else{
                rssUrl = "No URL found";
            }
        }
        catch (IOException ex) {
          Logger.getLogger(RSSReader.class.getName()).log(Level.SEVERE, null, ex);
        }

        return rssUrl;

}
    Document doc;
    String str = "";
    try {
        doc = Jsoup.connect(url).get();

        // get all links
        Elements links = doc.select("a[href]");
        for (Element link : links) {
            if(link.text().equals("News")){
                str = RSSLinkRetriever(link.attr("href"));
            }
         }

    } catch (IOException e) {
        e.printStackTrace();
    }
    return str;
}
    Document doc;
    String str = "";
    try {
        doc = Jsoup.connect(url).get();

        // get all links
        Elements links = doc.select("a[href]");
        for (Element link : links) {
            if(link.text().equals("RSS")){
                str = link.attr("href");
            }
         }

    } catch (IOException e) {
        e.printStackTrace();
    }
    return str;
}