A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenguoyu520 中级黑马   /  2015-10-9 23:29  /  247 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

网页爬虫(蜘蛛)
其实就是一个应用程序,主要用于收集网络上指定的信息
需求:用于收集邮箱,qq号等
应用:如通过关键字搜索blog,实际就是使用"蜘蛛",通过查找关键字获取相关的blog
  1. /*网页爬虫*/

  2. import java.io.*;
  3. import java.util.regex.*;
  4. import java.net.*;
  5. import java.util.*;
  6. class RegexTest
  7. {
  8.         public static void main(String[] args) throws Exception
  9.         {
  10.                 //getMails_1();
  11.                 getMails();
  12.         }
  13.         //获取网页中mail
  14.         public static void getMails_1() throws Exception
  15.         {
  16.                 //封装网页地址
  17.                 URL url = new URL("http://192.168.1.24:80/myweb/mail.html");
  18.                 //连接服务器
  19.                 URLConnection conn = url.openConnection();
  20.                 //定义缓冲区读取流
  21.                 BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));

  22.                 String line = null;
  23.                 //定义匹配邮箱地址的正则表达式
  24.                 String mailreg = "\\w+@\\w+(\\.\\w+)+";
  25.                 Pattern p = Pattern.compile(mailreg);
  26.                 //读取网页数据
  27.                 while((line=bufIn.readLine())!=null)
  28.                 {       
  29.                         //正则关联数据
  30.                         Matcher m = p.matcher(line);
  31.                         //寻找匹配邮箱
  32.                         while(m.find())
  33.                         {
  34.                                 System.out.println(m.group());
  35.                         }
  36.                 }
  37.         }
  38.         /*获取指定文档中的邮件地址
  39.         使用获取功能。Pattern Matcher*/
  40.         public static void getMails() throws Exception
  41.         {
  42.                 //将文件封装成对象
  43.                 File file = new File("mail.txt");
  44.                
  45.                 //创建缓冲区读取里UI
  46.                 BufferedReader bufr = new BufferedReader(new FileReader("file"));

  47.                 String line = null;
  48.                 //定义正则表达式
  49.                 String mailreg = "\\w+@\\w+(\\.\\w+)+";
  50.                
  51.                 //创建Pattern对象,封装正则表达式
  52.                 Pattern p = Pattern.compile(mailreg);
  53.                
  54.                 //读取文件中数据
  55.                 while((line=bufr.readLine())!=null)
  56.                 {        //关联字符串
  57.                         Matcher m = p.matcher(line);
  58.                         //寻找匹配的字符串
  59.                         while(m.find())
  60.                         {
  61.                                 //输出匹配的字符串
  62.                                 System.out.println(m.group());
  63.                         }
  64.                 }

  65.         }
  66. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马