您的位置:首页 > 其它

正则表达式:网页爬虫

2014-04-26 22:29 531 查看
这是对正则表达式的一个小应用,爬取指定网页的指定内容。这里用的是一个博客网页,抓取邮箱到集合里。

import java.io.BufferedReader;
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 RegexDemo2 {

/**
* @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 {

URL url = new URL("http://blog.sina.com.cn/s/blog_515617e60101e151.html");
BufferedReader bufIn = new BufferedReader(new InputStreamReader(
url.openStream()));
// 对读取的数据进行规则的匹配。从中获取符合规则的数据.
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: