如何在网页中提取Email地址

本文介绍了一款使用Java编写的程序,用于从指定网页中提取Email地址。程序通过正则表达式解析HTML内容,实现自动收集Email功能。提供源代码下载,支持自定义输出目录。

      开博好久了,今天第一次发表技术文档,之前总是将一些好的事例保存在电脑,时间久了找起来也很麻烦,所以还是放在博客里进行归类比较方便,这样也能将自己在学习过程中的一些心得体会分享给大家,也能给需要的人一点帮助。

      一个朋友需要我帮忙给写一个能够提取网页中Email地址的小程序,所以就用Java语言帮他做了一个,有不完善的地方还请大家谅解,并提出来,一起学习。

     源代码详见附件!加压后将将readme.htm放在F:\\share\\readme.htm,也可自定义目录,自定义目录需要修改对应的代码文件路径。源代码.rar

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* email小爬虫
* @author xiaoxin
* @date 2014/10/29
*/
public class EmailSpider {
    public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new FileReader("F:\\share\\readme.htm"));
            BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\share\\email.txt")); String line = ""; while((line = br.readLine()) != null) { parse(line, bw); } bw.flush(); bw.close(); br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 解析Email的方法 * @param line 按行过滤 * @param bw 输出到email.txt */ private static void parse(String line, BufferedWriter bw) { Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"); Matcher m = p.matcher(line); try { while(m.find()) { bw.write(m.group() + ";\r\n"); //换行显示,适用于windows、Linux下为\r、Mac下为\n // bw.newLine();//建议用这个换行 System.out.println(m.group()); } } catch (IOException e) { e.printStackTrace(); System.exit(-1); } } }

转载于:https://www.cnblogs.com/khaki/p/JAVA_Email_Spider.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值