当我们做广告的时候,有的时候需要给很多匿名用户发Email来实现我们的广告信息,这个时候我们就需要从网页中抓取到页面中的email地址,然后保存到数据库,然后才能逐一给用户发送邮件(平时我们所收到的大量的广告垃圾文件有的就是使用抓取技术)
闲话少说看代码:
package com.gd;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author Sandy
*
*/
public class EmailSpider {
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) {
BufferedReader br;
try {
br = new BufferedReader(new FileReader(System
.getProperty("user.home")
+ "/spideremail.htm"));
String line = "";
try {
while ((line = br.readLine()) != null) {
parse(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// 解析读出来的每一行的信息,然后对其逐行解析,把符合条件的email输出出来
private static void parse(String line) {
Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");
Matcher matcher = p.matcher(line);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
要想简单起见可以把异常信息直接throws
附件儿中是测试抓取email的测试文件