开博好久了,今天第一次发表技术文档,之前总是将一些好的事例保存在电脑,时间久了找起来也很麻烦,所以还是放在博客里进行归类比较方便,这样也能将自己在学习过程中的一些心得体会分享给大家,也能给需要的人一点帮助。
一个朋友需要我帮忙给写一个能够提取网页中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[.-]][email protected][\\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); } } }
时间: 2024-12-27 00:36:25