抓取网页上的邮箱信息


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;


import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


import org.junit.Test;


public class SpiderDemo {



//爬网页上的邮箱信息
@Test
public void getMailsByNet() throws IOException{
URL url = new URL("http://www.sina.com");//这里以新浪网为例
BufferedReader br= new BufferedReader(new InputStreamReader(url.openStream()));//打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream
String str = null;
String reg="\\w+@\\w+(\\.\\w+)+";//正则表达式
Pattern p=Pattern.compile(reg);     //将给定的正则表达式编译到模式中。
while((str=br.readLine())!=null){
Matcher m = p.matcher(str);
while(m.find()){// 尝试查找与该模式匹配的输入序列的下一个子序列。
System.out.println(m.group());
}
}
}




//爬取本地的邮箱信息
@Test
public void getMails() throws IOException  {
BufferedReader br = new BufferedReader(new FileReader("file2//cc.txt"));
String str = null;
String reg="\\w+@\\w+(\\.\\w+)+";//正则表达式
Pattern p = Pattern.compile(reg);
while((str=br.readLine())!=null){
Matcher m= p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}
}
}

你可能感兴趣的:(网络模型与通信要素)