Java正则表达式(一)、抓取网页email地址实例

实现思路:

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
			}
		}
	}

}

结果:

时间: 2024-09-18 22:18:44

Java正则表达式(一)、抓取网页email地址实例的相关文章

采集-Java HTTP Client 抓取网页,这个网页无论用什么编码都是乱码?

问题描述 Java HTTP Client 抓取网页,这个网页无论用什么编码都是乱码? http://www.licai.com/xuetang/CiDian.aspx?dj=1&type=&page=1 client.executeMethod(get); // String statusText = get.getStatusText(); //System.out.println("Test.main():--->" + statusText); Syste

java使用正则抓取网页邮箱_java

使用正则抓捕网上邮箱 这就是我们需要抓捕的网站. 实现思路: 1.使用java.net.URL对象,绑定网络上某一个网页的地址 2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象 3.通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream 4.循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区配每一行字符,取得email地址 下面是我们的代码: pa

关于java 使用 socket 抓取网页的问题。

问题描述 学校布置了一个大作业,是用javasocket做一个简单的浏览器,需要自己抓取HTML代码然后自己去解析HTML的标签,在做的过程中需要用GET的方法去发送HTTPHEADER,然后得到响应,现在有几个问题:1.有些是HTTP1.0有些是HTTP1.1这个头文件怎么设置才能得到正确的回应2,我在尝试链接GOOGLE的时候,返回的是302FOUND,我输入的地址是www.google.com,期中返回的头文件里有个LOCATION:www.google.co.uk,然后我直接输入www.

android 封装抓取网页信息的实例代码_Android

复制代码 代码如下: package cn.mypic;        import java.io.BufferedInputStream;      import java.io.BufferedReader;      import java.io.File;      import java.io.FileNotFoundException;      import java.io.FileOutputStream;      import java.io.IOException;   

android 封装抓取网页信息的实例代码

复制代码 代码如下:package cn.mypic; import java.io.BufferedInputStream;      import java.io.BufferedReader;      import java.io.File;      import java.io.FileNotFoundException;      import java.io.FileOutputStream;      import java.io.IOException;      impor

详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片_java

利用Java抓取网页上的所有图片: 用两个正则表达式: 1.匹配html中img标签的正则:<img.*src=(.*?)[^>]*?> 2.匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+) 实现: package org.swinglife.main; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream;

java代码抓取网页邮箱的实现方法_java

实现思路: 1.使用java.net.URL对象,绑定网络上某一个网页的地址 2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象 3.通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream 4.循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区配每一行字符,取得email地址 package cn.sdhzzl; import java.io.Buf

html-如何用java抓取网页隐藏音频链接

问题描述 如何用java抓取网页隐藏音频链接 我想用java抓取荔枝FM网站上所有的音频文件,但是直接查看网页源码发现找不到页面的音频链接http://www.lizhi.fm/#/25734/20075765977745926,但是我用谷歌的Developer Tools能找到这个链接http://cdn.lizhi.fm/audio/2015/05/16/20075765977745926_hd.mp3,我有点不知道怎么搞了,求帮忙看看什么情况 解决方案 搜索这个页面的data-url 解决

网络爬虫-用Java来抓取网页实例中HttpClient类的问题

问题描述 用Java来抓取网页实例中HttpClient类的问题 报这么一大堆错误我也是受不了了...... 主要的问题应该是HttpClient类这个东西,在网上查了这个类是httpclient-2.x.jar包的产物,我导入的是httpclient-4.2.2.jar和httpcore-4.2.2.jar包,而这两个新的工具包并不包含HttpClient类,查阅了Java API帮助文档后,自己并没有找到HttpClient类的替代类,而是一堆接口和抽象类,由于是刚开始写这个,所以有点懵.