黑马程序员技术交流社区
标题:
正则表达式——网页爬虫
[打印本页]
作者:
chenguoyu520
时间:
2015-10-9 23:29
标题:
正则表达式——网页爬虫
网页爬虫(蜘蛛)
其实就是一个应用程序,主要用于收集网络上指定的信息
需求:用于收集邮箱,qq号等
应用:如通过关键字搜索blog,实际就是使用"蜘蛛",通过查找关键字获取相关的blog
/*网页爬虫*/
import java.io.*;
import java.util.regex.*;
import java.net.*;
import java.util.*;
class RegexTest
{
public static void main(String[] args) throws Exception
{
//getMails_1();
getMails();
}
//获取网页中mail
public static void getMails_1() throws Exception
{
//封装网页地址
URL url = new URL("http://192.168.1.24:80/myweb/mail.html");
//连接服务器
URLConnection conn = url.openConnection();
//定义缓冲区读取流
BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
//定义匹配邮箱地址的正则表达式
String mailreg = "\\w+@\\w+(\\.\\w+)+";
Pattern p = Pattern.compile(mailreg);
//读取网页数据
while((line=bufIn.readLine())!=null)
{
//正则关联数据
Matcher m = p.matcher(line);
//寻找匹配邮箱
while(m.find())
{
System.out.println(m.group());
}
}
}
/*获取指定文档中的邮件地址
使用获取功能。Pattern Matcher*/
public static void getMails() throws Exception
{
//将文件封装成对象
File file = new File("mail.txt");
//创建缓冲区读取里UI
BufferedReader bufr = new BufferedReader(new FileReader("file"));
String line = null;
//定义正则表达式
String mailreg = "\\w+@\\w+(\\.\\w+)+";
//创建Pattern对象,封装正则表达式
Pattern p = Pattern.compile(mailreg);
//读取文件中数据
while((line=bufr.readLine())!=null)
{ //关联字符串
Matcher m = p.matcher(line);
//寻找匹配的字符串
while(m.find())
{
//输出匹配的字符串
System.out.println(m.group());
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2