java抓取網(wǎng)頁或文件中的郵箱號碼
更新時間:2017年03月28日 16:05:05 作者:java大渣渣
這篇文章主要為大家詳細介紹了java如何抓取網(wǎng)頁或文件中的郵箱號碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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抓取網(wǎng)頁中郵箱號碼的具體代碼
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());
}
}
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
spring中向一個單例bean中注入非單例bean的方法詳解
Spring是先將Bean對象實例化之后,再設置對象屬性,所以會先調用他的無參構造函數(shù)實例化,每個對象存在一個map中,當遇到依賴,就去map中調用對應的單例對象,這篇文章主要給大家介紹了關于spring中向一個單例bean中注入非單例bean的相關資料,需要的朋友可以參考下2021-07-07
Spring注解@Configuration與@Bean注冊組件的使用詳解
這篇文章主要介紹了SpringBoot中的注解@Configuration與@Bean注冊組件的使用,具有很好的參考價值,希望對大家有所幫助2022-06-06

