您的位置:首页 > 运维架构 > 网站架构

Jsoup读取东方财富网站数据实例

2015-07-29 20:44 591 查看
Jsoup挺好用,可以方便的在java中抓取html的内容,记录一个抓取东方财富网站信息的例子

目标:获取快讯中的标题条目和时间,如果是href需要抓下href信息,保存到本地自己的Message类中

Document doc = Jsoup.connect("http://kuaixun.eastmoney.com/").get();  //读取要访问的网站
Element data = doc.getElementById("livenews-list");  //找到要解析的节点
System.out.println(data);
List<News> list = new ArrayList<News>();
Elements newElement = data.getElementsByClass("media-title-box");  //找到节点中要解析的内容条目
System.out.println(newElement.size());
for(Element e : newElement){
Elements contents = e.getElementsByClass("media-title");  //获取标题
System.out.println(contents.size());
if(contents.isEmpty()){
continue;
}
Element content = contents.get(0);
System.out.println(content);
News message = new News();
if(content.hasAttr("href")){
message.setLink(content.attr("href"));<span style="font-family: Arial, Helvetica, sans-serif;">//获取href link如果存在</span>

}
message.setTitle(content.text());
list.add(message);
}
newElement = data.getElementsByClass("time");
System.out.println(newElement.size());
int i = 0;
for(Element e : newElement){
list.get(i).setTime(e.text());  //因为条目和时间节点是一一对应,直接给对应message time字段赋值
i++;
}
for(News message : list){
System.out.println(message.getTime() + "------" + message.getLink() + "----" + message.getTitle());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: