zoukankan      html  css  js  c++  java
  • Java 爬虫(获取指定页面中所有的邮箱地址)

    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 RegexTest2 {

     /**
      * @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 {
      
      //1,读取源文件。
    //    BufferedReader bufr = new BufferedReader(new FileReader("c:\mail.html"));
      
      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;
     }

     public static List<String>  getMails() throws IOException{
      
      //1,读取源文件。
      BufferedReader bufr = new BufferedReader(new FileReader("c:\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;
      
     }

    }

  • 相关阅读:
    DIY 作品 及 维修 不定时更新
    置顶,博客中所有源码 github
    openwrt PandoraBox PBR-M1 极路由4 HC5962 更新固件
    使用 squid 共享 虚拟专用网至局域网
    第一次参加日语能力测试 N5
    libx264 libfdk_aac 编码 解码 详解
    开发RTSP 直播软件 H264 AAC 编码 live555 ffmpeg
    MFC Camera 摄像头预览 拍照
    http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
    plist 图集 php 批量提取 PS 一个个切
  • 原文地址:https://www.cnblogs.com/flying607/p/3443029.html
Copyright © 2011-2022 走看看