这两天了解了jsoup这个很不错的抓取网页数据的工具,然后试着写了个小程序,属于入门级
——这个程序需要jsoup的jar包可以到jsoup的官网下载:http://jsoup.org/download
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class Main {
public static void main(String[] args) throws IOException {
//File input = new File("C:/Users/pc/Desktop/input.html");
//Document doc = Jsoup.parse(input , "GBK");
String myurl = "http://jw.dhu.edu.cn/dhu/homepage/page/list_news.jsp";
Document doc = (Document) Jsoup.connect(myurl).get();
for(Element ele : doc.select("table").select("tr")){
if(!ele.select("td").toString().equals("")){
String url = ele.select("td").get(0).select("a").attr("href");
String text = ele.select("td").get(0).select("a").text();
String count = ele.select("td").get(0).select("span").text();
if(url!=""&&getNum(count)>=500){//500完全可以改成静态全局变量以及手动输入的方式
System.out.println(text+"——"+count+"——"+url);
}
}
}
}
public static int getNum(String count){//用于提取“浏览:1234”中的数字
String ct = count;
String s= "\\d+";//自然数
Pattern pattern=Pattern.compile(s);
Matcher ma=pattern.matcher(ct);
if(ma.find()){
return Integer.parseInt(ma.group(0));
}
else return -1;
}
}
本文介绍了一个使用Jsoup库抓取特定网站新闻列表的小程序。该程序从指定URL获取网页内容,解析表格中的新闻条目,并筛选出浏览次数超过500次的条目进行展示。
2255

被折叠的 条评论
为什么被折叠?



