• 正则表达式_网页爬虫


    其实就一个程序用于在互联网中获取符合指定规则的数据。 

    爬取邮箱地址

     爬取本地中的文件:

    import java.io.BufferedReader;
    import java.io.FileReader;
    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 RegexTest {
    
        public static void main(String[] args) throws IOException {
    
            
            List<String> list = getMails();
            
            for(String mail : list){
                System.out.println(mail);
            }
        }
        
        
    
        public static List<String>  getMails() throws IOException{
            
            //1,读取源文件。
            BufferedReader bufr = new BufferedReader(new FileReader("F:\IO\mail.html"));
            
            //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;
            
        }
    }

     爬取网络中的:

    import java.io.BufferedReader;
    import java.io.FileReader;
    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 RegexTest {
    
        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://192.168.1.100:8080/myweb/mail.html");
            
            BufferedReader bufIn = new BufferedReader(new InputStreamReader(url.openStream()));
                    
            //2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
            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;
        }
    }
  • 相关阅读:
    Micorosoft 2013年笔试题
    Dropbox推荐使用
    swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念
    swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合
    Swift函数的定义
    swift_Dictionary 字典
    Xcode创建Object-C程序
    Spring事务管理者与Spring事务注解--声明式事务
    JDK注解替代Hibernate的Entity映射
    关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3603569.html
Copyright © 2020-2023  润新知