和我的上一篇博客一樣,這個也是看了馬士兵老師關於正則表達式的視頻之後做的練習。下面直接上代碼。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args){
try {
try {
URL url = new URL("http://www.xxxxx.com/abc/");//這裏可以自己找一個有很多郵箱的頁面。
try {
InputStream is = url.openStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
Pattern p = Pattern.compile("[\\w.-]+@[\\w.-]+\\.\\w+");
String line = "";
try {
while((line = br.readLine()) != null){
Matcher m = p.matcher(line);
if(m.find()){
System.out.println(m.group());
}
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
同樣的,代碼寫得比較粗糙,但是實現了主要功能。大家如果有興趣的話,可以做一些擴展,比如把要採集的頁面URL寫到配置文件中,再寫個定時器自動採集email並存到數據庫中,可以再寫個定時器自動取出當天新採集的email併發送郵件。
希望可以共同交流。