如何在网页中提取Email地址
2024-08-24 21:53:40
开博好久了,今天第一次发表技术文档,之前总是将一些好的事例保存在电脑,时间久了找起来也很麻烦,所以还是放在博客里进行归类比较方便,这样也能将自己在学习过程中的一些心得体会分享给大家,也能给需要的人一点帮助。
一个朋友需要我帮忙给写一个能够提取网页中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);
}
}
}
最新文章
- C++ 简单字符串加解密(转载)
- CentOS 6.5 安全加固及性能优化 (转)
- 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox
- eclipse设置显示代码行数(转)
- 百度地图API示例之设置地图显示范围
- 阿里云大数据三次技术突围:Greenplum、Hadoop和“飞天”
- Struts2 中的值栈的理解
- PV 并发量的计算
- Flink资料(4) -- 类型抽取和序列化
- SAP HANA procudure 创建用户
- mysql数据库实操笔记20170418
- 转换时间对象和字符串对象&;添加时间
- LR使用web_add_cookie函数进行cookie模拟
- C#多线程与并行编程方面的电子书,中英文版本
- SQL SERVER 打开脚本报“未能完成操作,存储空间不足”
- spring整合redis(哨兵模式)
- java的instanceof关键字
- RN环境的搭建
- No MaterialLocalizations found (Flutter)
- Java 訪问权限控制:你真的了解 protected keyword吗?
热门文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
- 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态
- 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
- jQuery学习之路(6)- 简单的表格应用
- 算法与数据结构(七) AOV网的拓扑排序
- spring remoting源码分析--Hessian分析
- PHP之使用网络函数和协议函数
- ls: 无法访问/usr/sbin/smartctl: 没有那个文件或目录
- WebGIS中等值面展示的相关方案简析