在上一篇中,学习了正则表达式的四个功能.即匹配.分割.替换.获取. 利用获取功能,可以实现简单的网页爬虫. 4,获取:将字符串中的符合规则的子串取出. 获取功能的操作步骤: 1,将正则表达式封装成对象. 2,让正则对象和要操作的字符串相关联. 3,关联后,获取正则匹配引擎. 4,通过引擎对符合规则的子串进行操作,比如取出. 举例如下: package com.packageTemp; /* 网页爬虫(蜘蛛) */ import java.io.*; import java.util.r…
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; class MyComparator implements Comparator<String>{ public int compare(String ip1, String ip2) { Pattern p…
在Java正则表达式的相关类Matcher中,有如下几个方法: - int groupCount() - String group(int group) - int start(int group) - int end(int group) - String group(String name) - int start(String name) - int end(String name) 分组group的概念 首先先来看一段代码,理解一下正则表达式中分组的概念 demo1 String tex…
一.导读 正则表达式,又称规则表达式.(英文名Regular Expression,所以代码中常以regex.regexp.RE表示).正则表达式简单说就是用于操作文本数据的规则表达式,在Java中我们使用正则表达式来对字符串进行"有规则的操作",没理解没关系,看下面的练习就懂了. 正则表达式对字符串的常见操作有:字符串的匹配.切割.替换.获取.下面我们就逐一进行练习: 二.正则表达式の规则 既然是表达式,就具有特定的规则,所以我们先看看jdk的工具类Pattern对正则表达式的规则的…
决定写一个小的爬虫系列,本文是第一篇,讲爬虫的基本原理和简易示例. 1.单个网页的简易爬虫 以下爬虫的主要功能是爬取百度贴吧中某一页面的所有图片.代码由主要有两个函数:其中getHtml()通过页面url获取其对应的html内容,getImage()则通过解析html获取图片地址,实现图片的下载. 代码如下: import urllib import re def getHtml(url): """通过页面url获取其对应的html内容 """…
这篇文章介绍了 HtmlParser 开源包和 HttpClient 开源包的使用,在此基础上实现了一个简易的网络爬虫 (Crawler),来说明如何使用 HtmlParser 根据需要处理 Internet 上的网页,以及如何使用 HttpClient 来简化 Get 和 Post 请求操作,构建强大的网络应用程序. 源文地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ HttpClient 与 HtmlPars…
在很多种情况下,我们都必须对字符串进行匹配,以便判断字符串的格式是否符合要求,对字符串中的内容进行提取.比如,我要从一段话aabdfe中,判断这段话是否有包含ab这个词,那么如果用if-else来判断的话,那么我们必须遍历整个字符串,当遇到一个a,记录一下状态,判断下一个是否是所要的b.这个过程随着要判断的内容(在这里是ab)和要被字符串的长度的增长,恶心程度递增.但是又因为字符串的判断实在是太常要用到啦,所以就有了正则表达式这么个东西,正则表达式其实就是一个字符串识别的规则,通过这个规则,我们…
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式.正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性.在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛. 正则表达式的引擎已被许多普通的Unix工具所实现,包括grep,awk,vi和Emacs等.此外,许多使用比较广泛…
http://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ http://blog.csdn.net/dancen/article/details/7570911 HttpClient 与 HtmlParser 简介本小结简单的介绍一下 HttpClinet 和 HtmlParser 两个开源的项目,以及他们的网站和提供下载的地址. HttpClient 简介HTTP 协议是现在的因特网最重要的协议之一.除了 WEB 浏览器之外,…
原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. 正则表达式应用于程序设计语言中,首次是出现在 Perl 语言,这也让 Perl 奠定了正则表达式旗手的地位.现在,它已经深入到了所有的程序设计语言中,在程序设计语言中,正则表达式可以说是标准配置了. Java 中从 JDK 1.4 开始增加了对正则表达式的支持,至此正则表达式成为了 Java 中的基…