博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java正则表达式(一)、抓取网页email地址实例
阅读量:4984 次
发布时间:2019-06-12

本文共 1173 字,大约阅读时间需要 3 分钟。

实现思路:

1、使用java.net.URL对象,绑定网络上某一个网页的地址

2、通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象

3、通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream

4、循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区配每一行字符,取得email地址

package regex;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 网络爬虫,抓取网页中的email地址 */public class WebCrawlersDemo {		public static void main(String[] args) throws Exception {		URL url = new URL("http://www.tianya.cn/publicforum/content/english/1/129176.shtml");		// 打开连接		URLConnection conn = url.openConnection();		// 设置连接网络超时时间		conn.setConnectTimeout(1000 * 10);		// 读取指定网络地址中的文件		BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));		String line = null;		String regex = "[a-zA-Z0-9_-]+@\\w+\\.[a-z]+(\\.[a-z]+)?";	// 匹配email的正则		Pattern p = Pattern.compile(regex);		while((line = bufr.readLine()) != null) {			Matcher m = p.matcher(line);			while(m.find()) {				System.out.println(m.group());	// 获得匹配的email			}		}	}}
结果:

转载于:https://www.cnblogs.com/xyang0917/archive/2012/07/01/4172521.html

你可能感兴趣的文章
php状态模式
查看>>
Asp.net C# 图像处理
查看>>
知识签名(signature of knowledge)
查看>>
Gedit 解决中文显示乱码问题
查看>>
reset 单个文件 回退
查看>>
数据库系统
查看>>
ASP.NET Core 基础知识(九)Configuration
查看>>
pickle使用
查看>>
将多个网页制作成一个CHM文件
查看>>
txt 文件改名为fasta,并编辑规格格式
查看>>
闭包 装饰器 - 总结
查看>>
中间件
查看>>
jQuery初识之选择器、样式操作和筛选器(模态框和菜单示例)
查看>>
::作用域运算符
查看>>
memcpy memmove区别和实现
查看>>
linux 下创建并动态加载.so 文件
查看>>
python--redis
查看>>
禁用input帐号密码的自动填充
查看>>
python的小技巧
查看>>
json数组转数组对象
查看>>