需要2个外部库,自己看api吧 ,希望看到这篇文章的同学有帮助(csdn上转的都是相同的乱七八糟的东西,这篇绝对可以用的)
修改一下就可以当做Android的客户端了
jsoup:http://jsoup.org/
rome:https://java.net/projects/rome/pages/Home
抓取的rss要符合rss规范,Wordpress的抓取就有时会失败,估计是php生成的有问题,下面的例子是抓取lofter的rss例子
public class Main {
public static void main(String[] args) {
String weburl = "http://www.lofter.com/tag/ui/rss";
try {
SyndFeedInput input = new SyndFeedInput();
XmlReader reader = new XmlReader(new URL(weburl));
SyndFeed feed = input.build(reader);
//这里的entries就是item的集合,一般是20个
List<SyndEntry> entries = feed.getEntries();
//这里我演示的是item集合里面的第一个list
SyndEntry entry = entries.get(0);
System.out.println("title :" + entry.getTitle() );
System.out.println("pubDate :" + entry.getPublishedDate() );
System.out.println("link :" + entry.getLink());
String description = entry.getDescription().getValue();
//下面的需要对css,html有了解
Document des_value = Jsoup.parse(description);
String text = des_value.text();
String imgsrc = des_value.select("img[src]").attr("src");
System.out.println("description_text = " + text);
System.out.println("description_imgsrc= " + (imgsrc.isEmpty()?"没抓到":imgsrc));
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果如下:
title :图片
pubDate :Mon Aug 04 23:18:17 CST 2014
link :http://w-hong.lofter.com/post/3174aa_193a151
description_text = LOFTER:红豆沙 http://w-hong.lofter.com/post/3174aa_193a151
description_imgsrc= http://imglf0.ph.126.net/UWRRJ-8yl04HKIxPCpqb1w==/6619452524862706503.png
在Android下用异步就可以同步到listview上了