zoukankan      html  css  js  c++  java
  • 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、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

  • 相关阅读:
    我倾向于使用发布版本进行调试,而不是使用调试版本
    常见WinDbg问题及解决方案
    在崩溃转储中查找所有可能的上下文记录
    向C/C++程序员介绍Windbg 脚本
    VS 使用技巧(1)
    Windows资源监视器软件的原理
    微架构、指令集架构与汇编语言的关系
    调试寄存器 原理与使用:DR0-DR7
    如何学习调试?
    WinDbg: 执行 SOS 扩展命令 !clrstack时报错 Access violation exception (0xC0000005)
  • 原文地址:https://www.cnblogs.com/ysw-go/p/5342445.html
Copyright © 2011-2022 走看看