首页 > 代码库 > Java写的抓取任意网页中email地址的小程序

Java写的抓取任意网页中email地址的小程序

/*
 * 从网页中抓取邮箱地址
 * 正则表达式:java.util.regex.Pattern
 * 1.定义好邮箱的正则表达式
 * 2.对正则表达式预编译
 * 3.对正则和网页中的邮箱格式进行匹配
 * 4.找到匹配结果
 * 5.通过网络程序,打通机器和互联网的一个网站的连接
 */
import java.net.*;
import java.util.regex.*;
import java.io.*;


public class EmailAddressFetch {
public static void main(String[] args) throws IOException {
//1.定义正则表达式
String emailRegex ="[0-9a-zA-Z_]+@[0-9a-zA-Z]+(\\.[a-zA-Z]+)+";
//2.进行正则编译
Pattern p=Pattern.compile(emailRegex);
//3.机器连接互联网
URL url=new URL("http://yjsc.njue.edu.cn:8080/Gmis/xkjsb/yjsdsfc.aspx?id=9120061062");//在这里可以修改网页地址
URLConnection connection=url.openConnection();
//4.机器和互联网上的网址已经连通,连接的通路上建立好了I/O流
InputStream in=connection.getInputStream();
InputStreamReader isr=new InputStreamReader(in);
BufferedReader bf=new BufferedReader(isr);
String line=null;
while((line=bf.readLine())!=null){
//System.out.println(line);//输出网页源代码
//每次readLine()读取网页中的一行,就和编译好的正则表达式进行匹配
Matcher m=p.matcher(line);
//进行查找Matcher find
while(m.find()){
System.out.println(m.group());
}
}
bf.close();
}
}