无法使用jsoup获取RSS提要链接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用jsoup获取RSS提要链接相关的知识,希望对你有一定的参考价值。
我正在尝试构建一个rss feed阅读器应用程序。我正在获取rss链接并使用jsoup解析它。我正在获取有线,可混合,whackyideas,techcrunch,企业家和其他类似网站等网站的RSS源。但是,当我尝试像nytimes,bbc,cnn或其他新闻网站这样的网站时,我无法获取rss链接。我认为问题在于下面提到的代码。有人可以帮我解决这个问题吗?
public String getRSSLinkFromURL(String url) {
// RSS url
String rss_url = null;
try {
// Using JSoup library to parse the html source code
org.jsoup.nodes.Document doc = Jsoup.connect(url).get();
// finding rss links which are having link[type=application/rss+xml]
org.jsoup.select.Elements links = doc
.select("link[type=application/rss+xml]");
Log.d("No of RSS links found", " " + links.size());
// check if urls found or not
if (links.size() > 0) {
rss_url = links.get(0).attr("href").toString();
} else {
// finding rss links which are having link[type=application/rss+xml]
org.jsoup.select.Elements links1 = doc
.select("link[type=application/rss+xml]");
if(links1.size() > 0){
rss_url = links1.get(0).attr("href").toString();
}
}
} catch (IOException e) {
e.printStackTrace();
}
我也尝试使用“atom + xml”代替“rss + xml”,但得到了相同的结果。
编辑:我已经按照以下方式修改了代码,并且我开放了更多的网站,这些网站没有提前打开。但我仍然没有得到像“www.BBC.com”和“www.timesofindia.indiatimes.com”这样的网站。如果有人能帮助我,我将不胜感激
org.jsoup.nodes.Document doc = Jsoup.connect(url).get();
doc = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36")
.timeout(12000)
.referrer("http://www.google.com")
.get();
答案
我想你错过了“application / rss + xml”的引号:"link[type="application/rss+xml"]"
以上是关于无法使用jsoup获取RSS提要链接的主要内容,如果未能解决你的问题,请参考以下文章