java抓取网页或文件中的邮箱号码

转载  发布时间:2017年03月28日 16:05:05   作者:java大渣渣   我要评论

这篇文章主要为大家详细介绍了java如何抓取网页或文件中的邮箱号码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java抓取邮箱号码的具体代码,供大家参考,具体内容如下

java抓取文件中邮箱号码的具体代码

package reg;


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class TestEmail {

public static void main(String[] args) {
// TODO Auto-generated method stub
 BufferedReader br=null;
 try {
br=new BufferedReader(new FileReader("D:/1.htm"));
String str=null;
StringBuilder sb=new StringBuilder();
while((str=br.readLine())!=null){
sb.append(str);
}
List es=getEmail(sb.toString());
for(String e:es){
System.out.println(e);
}
} catch (FileNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
}catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}finally {
try {
if(br!=null) br.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
 public static List getEmail(String str){
 List es=new ArrayList();
Pattern p=Pattern.compile("[\\w\\.-]*\\w+@[\\w\\.-]*\\w+\\.\\w{2,5}");
// Pattern p=Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");
 Matcher m=p.matcher(str);
 while(m.find()){
 es.add(m.group());
 }
 return es;
 }
}


java抓取网页中邮箱号码的具体代码

package reg;

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
 
public class Testemail01 
{ 
 public static String getWebCon(String domain) 
 { 
 System.out.println("开始抓取邮件地址..("+domain+")"); 
 StringBuffer sb=new StringBuffer(); 
 try 
 { 
 java.net.URL url=new java.net.URL(domain); 
 BufferedReader in=new BufferedReader(new InputStreamReader(url.openStream())); 
 String line; 
 while((line=in.readLine())!=null) 
 { 
 parse(line); 
 } 
 in.close(); 
 } 
 catch(Exception e) 
 { 
 sb.append(e.toString()); 
 System.err.println(e); 
 
 } 
 return sb.toString(); 
 } 
 public static void main(String[] args) 
 { 
 String s=Testemail01.getWebCon("http://tieba.baidu.com/p/2366935784"); 
 } 
 private static void parse(String line) 
 { 
 Pattern p=Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");//邮箱的正则表达式 
 Matcher m=p.matcher(line); 
 while(m.find()) 
 { 
 System.out.println(m.group()); 
 } 
 } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入理解java泛型详解

    深入理解java泛型详解

    这篇文章主要介绍了Java中的泛型详解,什么是泛型,作用以及基础实例等,喜欢的朋友可以参考
    2017-04-04
  • 利用Spring IOC技术实现用户登录验证机制

    利用Spring IOC技术实现用户登录验证机制

    这篇文章主要为大家详细介绍了Spring IOC技术实现用户登录验证机制的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java设计模式之单例模式实例分析

    Java设计模式之单例模式实例分析

    这篇文章主要介绍了Java设计模式之单例模式,以实例形式较为详细的分析了单例模式的概念、定义及简单实现技巧,需要的朋友可以参考下
    2015-11-11
  • java实现excel导入数据的工具类

    java实现excel导入数据的工具类

    这篇文章主要介绍了java实现的excel导入数据的工具类,需要的朋友可以参考下
    2014-03-03
  • Java设计模式之代理模式原理及实现代码分享

    Java设计模式之代理模式原理及实现代码分享

    这篇文章主要介绍了Java设计模式之代理模式原理及实现代码分享,设计代理模式的定义,静态代理,动态代理,jdk动态代理实现步骤,原理及源码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java实现走迷宫回溯算法

    Java实现走迷宫回溯算法

    这篇文章主要为大家详细介绍了Java实现走迷宫回溯算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Java单例模式、饥饿模式代码实例

    Java单例模式、饥饿模式代码实例

    这篇文章主要介绍了Java单例模式、饥饿模式代码实例,本文直接给出代码实例,需要的朋友可以参考下
    2015-05-05
  • Spring Boot 简介(入门篇)

    Spring Boot 简介(入门篇)

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。下面通过本文给大家介绍spring boot相关知识,需要的的朋友参考下吧
    2017-04-04
  • Java实现直接插入排序和折半插入排序算法示例

    Java实现直接插入排序和折半插入排序算法示例

    这篇文章主要介绍了Java实现直接插入排序和折半插入排序算法示例,文中对算法的思想和时间复杂度都有简单的讲解,需要的朋友可以参考下
    2016-04-04
  • bool当成函数参数错误理解

    bool当成函数参数错误理解

    经常会在函数的参数里使用bool参数,这会大大地降低代码的可读性
    2012-11-11

最新评论