正则表达式扩展----网页爬虫(复习io流+网络)

来源:互联网 发布:单片机开发板哪个好 编辑:程序博客网 时间:2024/06/10 18:29

一.爬网页中的电子邮箱

import java.io.*;import java.util.regex.*;import java.net.*;class PaChong {public static void main(String[] args) throws Exception{getMail();}public static void getMail()throws Exception{        //从网页获取  进行筛选URL url=new URL("http://www.csdn.net/");URLConnection conn=url.openConnection();BufferedReader bufReader=new BufferedReader(new InputStreamReader(conn.getInputStream()));//文件读取  进行筛选//BufferedReader bufReader=new BufferedReader(new FileReader("mail.txt"));String line;String mailreg="\\w+@\\w+(\\.\\w+)+";Pattern p=Pattern.compile(mailreg);while((line=bufReader.readLine())!=null){           //System.out.println(line);//输出读取的内容。              Matcher m=p.matcher(line);   while (m.find())   {  System.out.println(m.group());   }   }}}
二.io流的简单使用复习

import java.util.*;  import java.io.*;    public class BufferedReaderWriterDemo   {      public static void main(String[] args)       {          try          {              //缓冲System.in输入流              //System.in是位流,可以通过InputStreamReader将其转换为字符流              BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));              //缓冲FileWriter              BufferedWriter bufWriter = new BufferedWriter(new FileWriter("mail.txt"));                String input = null;                //每读一行进行一次写入动作              while(!(input = bufReader.readLine()).equals("quit"))              {                  bufWriter.write(input);                  //newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符                  bufWriter.newLine();              }              bufReader.close();              bufWriter.close();          }          catch(ArrayIndexOutOfBoundsException e)          {              System.out.println("没有指定文件");          }          catch(IOException e)          {              e.printStackTrace();          }      }  }  




0 0
原创粉丝点击