• 如何在网页中提取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() + ";
    "); //换行显示,适用于windows、Linux下为
    、Mac下为
    
             //     bw.newLine();//建议用这个换行
                    System.out.println(m.group());
                }
            } catch (IOException e) {
                e.printStackTrace();
                System.exit(-1);
            }
        }
    }
    只有不断地学习,才能使自己立于不败之地!
  • 相关阅读:
    创建二叉树
    并查集
    opn模块
    【ES6】map、reduce、filter、sort、箭头函数、class继承、yield
    css应用视觉设计
    json解决ajax跨域的原理
    flex盒子布局
    前后台交互ajax请求模块
    react后台项目开发(一)
    高阶函数&&高阶组件(二)
  • 原文地址:https://www.cnblogs.com/khaki/p/JAVA_Email_Spider.html
Copyright © 2020-2023  润新知