java抓取网页或文件中的邮箱号码
作者: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()); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。