Java正则表达式--网页爬虫

网页爬虫:其实就一个程序用于在互联网中获取符合指定规则的数据 爬取邮箱地址,爬取的源不同,本地爬取或者是网络爬取

(1)爬取本地数据:

public static List<String> getMails() throws IOException {
        // 1.读取源文件
        // 爬取本地文件
        BufferedReader bufr = new BufferedReader(new FileReader("D:\\mail.txt"));
        // 2.对读取的数据进行规则的匹配,从中获取符合规则的数据
        String mail_regex = "\\w+@\\w+(\\.\\w+)+";
        List<String> list = new ArrayList<String>();
        Pattern p = Pattern.compile(mail_regex);
        String line = null;
        while ((line = bufr.readLine()) != null) {
            Matcher m = p.matcher(line);
            while (m.find()) {
        // 3.将符合规则的数据存储到集合中
                list.add(m.group());
            }
        }
        return list;
    }

运行结果:

emdm@cnw.cjn
cwec@cwc.cwk.cwe
163@com.cn
shuwei_yao@163.com.cn

(2)爬取网络数据

1     public static List<String> getWebMails() throws IOException {
 2         // 1.读取源文件
 3         URL url = new URL("http://sina.com.cn");
 4         BufferedReader bufIn = new BufferedReader(new InputStreamReader(
 5                 url.openStream()));
 6         // 2.对读取的数据进行规则的匹配,从中获取符合规则的数据
 7         String mail_regex = "\\w+@\\w+(\\.\\w+)+";
 8         List<String> list = new ArrayList<String>();
 9         Pattern p = Pattern.compile(mail_regex);
10         String line = null;
11         while ((line = bufIn.readLine()) != null) {
12             Matcher m = p.matcher(line);
13             while (m.find()) {
14         // 3.将符合规则的数据存储到集合中
15                 list.add(m.group());
16             }
17         }
18         return list;
19     }

 运行结果:

jubao@vip.sina.com
jubao@vip.sina.com

  


本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

posted @ 2016-03-31 19:31  菜鸟奋斗史  阅读(1235)  评论(0编辑  收藏  举报