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;
        }
    
    }
  • 相关阅读:
    异常类
    设计模式
    java的参数传递
    meta 标签中 http-equiv 的作用
    导入CSV格式文件方法
    第四次博客作业-结对项目
    第九次作业-接口及接口回调
    第八次作业-继承
    软件工程第三次作业——关于软件质量保障初探
    Java第七次作业
  • 原文地址:https://www.cnblogs.com/stonewu/p/3692994.html
Copyright © 2011-2022 走看看