代码:
import java.io.*;
import java.util.regex.*;
import java.net.*;
class Spiders
{
public static void main(String[] args) throws Exception
{
getMai1s();
}
public static void getMai1s() throws Exception
{
//将网页路径封装成URL对象
//URL url = new URL("http://192.168.43.237:8080/myweb/mail.html");//tomecat本地测试
URL url = new URL("https://faculty.ecnu.edu.cn/_s43/zxy2/main.psp");//爬一爬导师主页信息。。。
//使用URL中的openConnection方法连接远程服务器
//其实原理就是
//1.解析网页路径,获取ip地址,端口号,路径等信息
//2.URL对象内部封装一个Socket()对象,连接服务器,与服务器进行通讯
URLConnection conn = url.openConnection();
//获取输入流,并封装
BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
//获取网页信息line,并用正则表达式进行信息提取。
String mailReg = "\\w+@\\w+(\\.\\w+)+";
Pattern p = Pattern.compile(mailReg);//将正则表达式封装成对象
String line = null;
while((line=bufIn.readLine())!=null)
{
//System.out.println(line);
//使正则表达式对象与待操作字符串相关联
//获取操作引擎
Matcher m = p.matcher(line);
//查找并获取符合正则表达式的子串
while(m.find())
{
System.out.println(m.group());
}
}
}
}
运行结果: