zoukankan      html  css  js  c++  java
  • 正则表达式:网页爬虫

    这是对正则表达式的一个小应用,爬取指定网页的指定内容。这里用的是一个博客网页,抓取邮箱到集合里。

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegexDemo2 {
    
        /**
         * @param args
         * @throws IOException
         */
    
        /*
         * 网页爬虫:其实就一个程序用于在互联网中获取符合指定规则的数据。 爬取邮箱地址。
         */
        public static void main(String[] args) throws IOException {
            List<String> list = getMailsByWeb();
            for (String mail : list) {
                System.out.println(mail);
            }
        }
    
        public static List<String> getMailsByWeb() throws IOException {
    
            URL url = new URL("http://blog.sina.com.cn/s/blog_515617e60101e151.html");
            BufferedReader bufIn = new BufferedReader(new InputStreamReader(
                    url.openStream()));
            // 对读取的数据进行规则的匹配。从中获取符合规则的数据.
            String mail_regex = "\w+@\w+(\.\w+)+";
    
            List<String> list = new ArrayList<String>();
            Pattern p = Pattern.compile(mail_regex);
    
            String line = null;
    
            while ((line = bufIn.readLine()) != null) {
    
                Matcher m = p.matcher(line);
                while (m.find()) {
                    // 3,将符合规则的数据存储到集合中。
                    list.add(m.group());
                }
    
            }
    
            return list;
        }
    
    }
  • 相关阅读:
    团队作业2-《需求规格说明书》
    团队作业 —— 团队选题
    自我介绍+软工五问
    团队作业5——测试与发布(Alpha版本)
    结对项目(与陈超国)
    个人项目wordcount
    自我介绍+软工5问
    个人项目(C语言)
    自我介绍+软工五问
    第三篇 Scrum冲刺博客
  • 原文地址:https://www.cnblogs.com/stonewu/p/3692994.html
Copyright © 2011-2022 走看看