java抓取網(wǎng)頁或文件中的郵箱號(hào)碼
更新時(shí)間:2017年03月28日 16:05:05 作者:java大渣渣
這篇文章主要為大家詳細(xì)介紹了java如何抓取網(wǎng)頁或文件中的郵箱號(hào)碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了java抓取郵箱號(hào)碼的具體代碼,供大家參考,具體內(nèi)容如下
java抓取文件中郵箱號(hào)碼的具體代碼
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)頁中郵箱號(hào)碼的具體代碼
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]+");//郵箱的正則表達(dá)式
Matcher m=p.matcher(line);
while(m.find())
{
System.out.println(m.group());
}
}
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java Date時(shí)間類型的操作實(shí)現(xiàn)
本文主要介紹Java Date 日期類型,以及Calendar的怎么獲取時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
軟件開發(fā)基礎(chǔ)之設(shè)計(jì)模式概述
這篇文章介紹了軟件開發(fā)基礎(chǔ)之設(shè)計(jì)模式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
spring中向一個(gè)單例bean中注入非單例bean的方法詳解
Spring是先將Bean對(duì)象實(shí)例化之后,再設(shè)置對(duì)象屬性,所以會(huì)先調(diào)用他的無參構(gòu)造函數(shù)實(shí)例化,每個(gè)對(duì)象存在一個(gè)map中,當(dāng)遇到依賴,就去map中調(diào)用對(duì)應(yīng)的單例對(duì)象,這篇文章主要給大家介紹了關(guān)于spring中向一個(gè)單例bean中注入非單例bean的相關(guān)資料,需要的朋友可以參考下2021-07-07
Spring注解@Configuration與@Bean注冊(cè)組件的使用詳解
這篇文章主要介紹了SpringBoot中的注解@Configuration與@Bean注冊(cè)組件的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2022-06-06

