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占位符替换五种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Java Date时间类型的操作实现

    Java Date时间类型的操作实现

    本文主要介绍Java Date 日期类型,以及Calendar的怎么获取时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 用Eclipse生成JPA元模型的方法

    用Eclipse生成JPA元模型的方法

    下面小编就为大家带来一篇用Eclipse生成JPA元模型的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot整合Thymeleaf的方法

    SpringBoot整合Thymeleaf的方法

    这篇文章主要介绍了SpringBoot整合Thymeleaf的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下,希望能够帮助到你
    2021-07-07
  • 软件开发基础之设计模式概述

    软件开发基础之设计模式概述

    这篇文章介绍了软件开发基础之设计模式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • spring中向一个单例bean中注入非单例bean的方法详解

    spring中向一个单例bean中注入非单例bean的方法详解

    Spring是先将Bean对象实例化之后,再设置对象属性,所以会先调用他的无参构造函数实例化,每个对象存在一个map中,当遇到依赖,就去map中调用对应的单例对象,这篇文章主要给大家介绍了关于spring中向一个单例bean中注入非单例bean的相关资料,需要的朋友可以参考下
    2021-07-07
  • Java 开发环境配置步骤(介绍)

    Java 开发环境配置步骤(介绍)

    下面小编就为大家带来一篇Java 开发环境配置步骤(介绍)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Cookie 实现的原理

    Cookie 实现的原理

    我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了
    2021-06-06
  • Spring注解@Configuration与@Bean注册组件的使用详解

    Spring注解@Configuration与@Bean注册组件的使用详解

    这篇文章主要介绍了SpringBoot中的注解@Configuration与@Bean注册组件的使用,具有很好的参考价值,希望对大家有所帮助
    2022-06-06
  • java获取IP归属地全网显示开源库使用

    java获取IP归属地全网显示开源库使用

    这篇文章主要为大家介绍了java获取IP归属地全网显示的开源库使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论