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()); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-25 01:35:22