一个简单的基于Jsoup的HTML信息抓取Java程序

本文介绍了一个使用Jsoup库抓取特定网站新闻列表的小程序。该程序从指定URL获取网页内容,解析表格中的新闻条目,并筛选出浏览次数超过500次的条目进行展示。
这两天了解了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; 
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值