zoukankan      html  css  js  c++  java
  • 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());
    			}
    		}
    	}
    
    }
    
    可以自定义正则表达式,即所谓的规则,确定自己想要取出的内容。实现了简单的网页爬虫。




  • 相关阅读:
    四十一.redis主从复制 RDB/AOF持久化 数据类型
    四十.创建Redis集群 管理集群
    三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis
    三十八. 分库分表概述 配置mycat
    520D
    442C
    LA4788
    LA3276
    LA4122
    zoj3478
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467323.html
Copyright © 2011-2022 走看看