http://www.busfly.cn/csdn/post/458.html
package com.xiaofeng.picup;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** *//**
*
* @author 晓峰2007.1.18 抓取雅虎知识堂的文章标题及内容(测试) 手动输入网址抓取,可进一步自动抓取整个知识堂的全部内容
*
*/
public class WebContent ...{
/** *//**
* 读取一个网页全部内容
*/
public String getOneHtml(String htmlurl) throws IOException...{
URL url;
String temp;
StringBuffer sb = new StringBuffer();
try ...{
url = new URL(htmlurl);
BufferedReader in = new BufferedReader(new InputStreamReader(url
.openStream(), "utf-8"));// 读取网页全部内容
while ((temp = in.readLine()) != null) ...{
sb.append(temp);
}
in.close();
}catch(MalformedURLException me)...{
System.out.println("你输入的URL格式有问题!请仔细输入");
me.getMessage();
throw me;
}catch (IOException e) ...{
e.printStackTrace();
throw e;
}
return sb.toString();
}
/** *//**
*
* @param s
* @return 获得网页标题
*/
public String getTitle(String s) ...{
String regex;
String title = "";
List<String> list = new ArrayList<String>();
regex = "<title>.*?</title>";
Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ);
Matcher ma = pa.matcher(s);
while (ma.find()) ...{
list.add(ma.group());
}
for (int i = 0; i < list.size(); i++) ...{
title = title + list.get(i);
}
return outTag(title);
}
/** *//**
*
* @param s
* @return 获得链接
*/
public List<String> getLink(String s) ...{
String regex;
List<String> list = new ArrayList<String>();
regex = "<a[^>]*href=("([^"]*)"|'([^']*)'|([^\s>]*))[^>]*>(.*?)</a>";
Pattern pa = Pattern.compile(regex, Pattern.DOTALL);
Matcher ma = pa.matcher(s);
while (ma.find()) ...{
list.add(ma.group());
}
return list;
}
/** *//**
*
* @param s
* @return 获得脚本代码
*/
public List<String> getScript(String s) ...{
String regex;
List<String> list = new ArrayList<String>();
regex = "<script.*?</script>";
Pattern pa = Pattern.compile(regex, Pattern.DOTALL);
Matcher ma = pa.matcher(s);
while (ma.find()) ...{
list.add(ma.group());
}
return list;
}
/** *//**
*
* @param s
* @return 获得CSS
*/
public List<String> getCSS(String s) ...{
String regex;
List<String> list = new ArrayList<String>();
regex = "<style.*?</style>";
Pattern pa = Pattern.compile(regex, Pattern.DOTALL);
Matcher ma = pa.matcher(s);
while (ma.find()) ...{
list.add(ma.group());
}
return list;
}
/** *//**
*
* @param s
* @return 去掉标记
*/
public String outTag(String s) ...{
return s.replaceAll("<.*?>", "");
}
分享到:
相关推荐
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
java中常用的匹配正则表达式实例大全.doc
java正则表达式使用.docx 资源
java用正则表达式读取网页内容,通过抓取文章标题及内容,进一步专区整个页面的全部内容,本文代码简单易懂,对java用正则表达式读取网页内容感兴趣的朋友可以参考下
常用正则表达式运用 正则表达式的匹配 统计代码 行数 用正则表达式读取 html文件中的 email信息
1.java读取文件,输出文件 2.java正则表达式匹配* 2个文件内容是:中文 英文,然后分别比较中文部分和英文部分,文件内容如下: 520香烟 520cigarette 678月 678yue A-zone A-zone A.O.史密斯 AOsms ACE床垫 ACE ...
5_1.编写一个类,该类封有一个方法 public int f(int a, int b){ //要求该方法返回a和b的最大公约数 } 然后编写一个该类的子类,要求子类重写方法f(),而且重写的...2.编写一个类,该类能用正则表达式读取网页中的标签
从txt文件中读取字符串,通过正则表达式提取关键字,并插入mysql数据库的一个小demo.
词法分析程序生成器实现将正则表达式、NFA、DFA、DFA最小化词法分析程序 词法分析程序生成器是一个工具,它能够根据给定的正则表达式自动生成词法分析器。这个生成器通常包括以下几个步骤:正则表达式的转换、NFA...
读取日志文件内容,如: 118.171.239.207 - - [01/Feb/2013:09:55:45 +0800] "GET /?p=an=ta_cl|uuid=466015120187637356708047806953|s=2001|c=tw|ch=3010000001$3010000001|er=GRJ90|av=3.9.263|ki=2$0|wl=3|se=0$...
java比较文件_读取输出文件_正则表达式匹配
网页爬虫:就是一个程序...4.建立正则规则,因为这里我们是爬去网页中的邮箱信息,所以建立匹配 邮箱的正则表达式:String regex=”\w+@\w+(\.\w+)+”; 5.将提取到的数据放到集合中。 代码: import java.io.Buffered
* Summary of regular-expression constructs 正则表达式结构简介: * Construct Matches * Characters 字符: * x The character x x 字符 x * \\ The ...
1. 使用正则表达式验证邮箱格式:演示如何使用正则表达式验证邮箱地址的格式是否有效。 2. 读取和写入文本文件:展示了如何使用文件读取器和写入器来读取和写入文本文件的内容。 3. 使用日期和时间类:演示了Java 8...
java笔试题重复字符串 内容 一、简介 REGEX 表示 REGular ...见下文,每个脚本将读取test.txt文件,使用我们的正则表达式^[0-9]+$ ,并将文件中的所有数字打印到控制台。 到目前为止,只考虑假设[0-9
主要介绍了java正则表达式的应用,应用的内容是java读取文件并获取电话号码,感兴趣的小伙伴们可以参考一下
主要介绍了Java读取文件及基于正则表达式的获取电话号码功能,结合实例形式详细分析了正则匹配操作的相关语法及电话号码匹配的原理与实现技巧,需要的朋友可以参考下
从txt文件中读取字符串,通过正则表达式提取关键字,并插入mysql数据库的一个小demo. 前言 因为最近公司需要用到携程上面的一些酒店数据,由于没有接触过爬虫,所以只能投机取巧去爬html源文件的代码,然后在源...
现在来说说用正则表达式怎么实现. 思路:获取到字符串中的空格,然后把空格及空格后的字符全部替换为空. 获取空格的正则为\s 实践: 代码如下: var date = “2015-12-26 15:22:00”; console.log(date.replace(/\s*/g,...