Java正则表达式—小应用—简易爬虫

    

       在上一篇中,学习了正则表达式的四个功能。即匹配、分割、替换、获取。

利用获取功能,可以实现简单的网页爬虫。


4,获取:将字符串中的符合规则的子串取出



获取功能的操作步骤:


1,将正则表达式封装成对象。
2,让正则对象和要操作的字符串相关联。
3,关联后,获取正则匹配引擎。
4,通过引擎对符合规则的子串进行操作,比如取出。


举例如下:

package com.packageTemp;

/*
网页爬虫(蜘蛛)
*/
import java.io.*;
import java.util.regex.*;
import java.net.*;
public class RegexTest2 
{
	public static void main(String[] args) throws Exception
	{
		getMails_1();

	}


	public static void getMails_1()throws Exception
	{
		URL url = new URL("http://sports.sina.com.cn/nba/");

		URLConnection conn = url.openConnection();

		BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		
		String line = null;

//		String mailreg = "\w+[html]\w+(\.\w+)+";
		String mailreg = "[a-zA-Z][1-9]\d{3,10}";
//		String mailreg = "1[3-9]\D\d\w{2,12}";
		Pattern p = Pattern.compile(mailreg);
		

		

		while((line=bufIn.readLine())!=null)
		{
			Matcher m = p.matcher(line);
			while(m.find())
			{
				System.out.println(m.group());
			}
		}
	}

}
可以自定义正则表达式,即所谓的规则,确定自己想要取出的内容。实现了简单的网页爬虫。




原文地址:https://www.cnblogs.com/lanzhi/p/6467323.html