gpt4 book ai didi

java - 识别 HTML 源代码中的 RSS 链接

转载 作者:太空宇宙 更新时间:2023-11-04 13:52:46 25 4
gpt4 key购买 nike

有没有办法从 HTML 文本代码中识别 RSS 链接。我需要用 JAVA 编码来从 HTML 源代码中提取此链接,但我找不到不同网站如何将其 RSS 链接嵌入到 Web 的 HTML 代码中的单一方法。有些网站使用“type=application/rss+xml”,但并非所有网站都使用“type=application/rss+xml”,例如 discovery.com 和 cnn.com。有什么方法可以为任何网站编码吗?

最佳答案

我暂时解决了我的问题,但如果有人能告诉我更简洁和高效的代码,我将不胜感激。我认为我的代码效率不高,它只是一个大循环来解决小问题。我的第一部分代码取自 user911236 在 stackoverflow 上的帖子。

我的代码:

公共(public)静态字符串RSSLinkRetriever(字符串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;

}

公共(public)静态字符串rssURLNews(字符串网址){

    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;
}

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

    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;
}

关于java - 识别 HTML 源代码中的 RSS 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com