Java正则表达式之网页爬虫

这是一个爬虫简单示例:到网络中获取指定规则的数据 

像贴吧、天涯里面的留邮箱发资料的帖子里面有很多号码、邮箱。就可以通过这个程序获取显示到控制台

通过传一个url地址,程序将获取网页里面的所有邮箱。 如果要获取电话号码,将正则表达式改动一下就可以


public class NetSpider {

	public static void main(String[] args) throws IOException {
		 
		String reg = "\\w+@\\w+(\\.\\w+)+";		
		
		HashSet<String> set = getNetMail(reg);  //set集合没有重复元素
		for(String m: set)
			System.out.println(m);
	}
</pre><pre name="code" class="java">

private static HashSet<String> getNetMail(String regs) throws IOException {
		
		String str_url ="http://bbs.tianya.cn/post-enterprise-401802-5.shtml";
		URL url = new URL(str_url);
		URLConnection conn = url.openConnection();
		InputStream in = conn.getInputStream();			
		BufferedReader buf = new BufferedReader(new InputStreamReader(in));
		
		String line =null;
		Pattern p = Pattern.compile(regs); //将字符串的正则式编译成Pattern正则对象
		HashSet<String> set = new HashSet<String>();
		 
		while((line=buf.readLine())!=null){
			Matcher m =p.matcher(line); // 通过Matcher对象将正则表达式规则作用到字符串上
			while(m.find()){   // //查找符合规则的子串
				set.add(m.group()); // //获取匹配后的结果<span style="white-space:pre">	</span>
			 }			
		 }		 
		 buf.close();
		 return set;
	}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值