java 使用正则表达式从网页上提取网站标题 (转载)
来源:互联网 发布:tcl网络电视进不了系统 编辑:程序博客网 时间:2024/05/18 04:04
- package catchhtml;
- 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.List;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class GetHtmlTitle {
- public GetHtmlTitle(String htmlUrl){
- System.out.println("/n------------开始读取网页(" + htmlUrl + ")-----------");
- String htmlSource = "";
- htmlSource = getHtmlSource(htmlUrl);//获取htmlUrl网址网页的源码
- System.out.println("------------读取网页(" + htmlUrl + ")结束-----------/n");
- System.out.println("------------分析(" + htmlUrl + ")结果如下-----------/n");
- String title = getTitle(htmlSource);
- System.out.println("网站标题: " + title);
- }
- /**
- * 根据网址返回网页的源码
- * @param htmlUrl
- * @return
- */
- public String getHtmlSource(String htmlUrl){
- URL url;
- StringBuffer sb = new StringBuffer();
- try{
- url = new URL(htmlUrl);
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));//读取网页全部内容
- String temp;
- while ((temp = in.readLine()) != null)
- {
- sb.append(temp);
- }
- in.close();
- }catch (MalformedURLException e) {
- System.out.println("你输入的URL格式有问题!请仔细输入");
- }catch (IOException e) {
- e.printStackTrace();
- }
- return sb.toString();
- }
- /**
- * 从html源码(字符串)中去掉标题
- * @param htmlSource
- * @return
- */
- public String getTitle(String htmlSource){
- List<String> list = new ArrayList<String>();
- String title = "";
- //Pattern pa = Pattern.compile("<title>.*?</title>", Pattern.CANON_EQ);也可以
- Pattern pa = Pattern.compile("<title>.*?</title>");//源码中标题正则表达式
- Matcher ma = pa.matcher(htmlSource);
- while (ma.find())//寻找符合el的字串
- {
- list.add(ma.group());//将符合el的字串加入到list中
- }
- for (int i = 0; i < list.size(); i++)
- {
- title = title + list.get(i);
- }
- return outTag(title);
- }
- /**
- * 去掉html源码中的标签
- * @param s
- * @return
- */
- public String outTag(String s)
- {
- return s.replaceAll("<.*?>", "");
- }
- public static void main(String[] args) {
- String htmlUrl = "http://www.157buy.com";
- new GetHtmlTitle(htmlUrl);
- }
- }
0 0
- java 使用正则表达式从网页上提取网站标题 (转载)
- java 使用正则表达式从网页上提取网站标题
- java学习-- 使用正则表达式从网页上提取网站标题
- 提取网页中链接和标题的正则表达式
- 提取网页中链接和标题的正则表达式
- 使用正则表达式,从网站上获取指定数据
- 使用正则表达式,从网站上获取指定数据
- 用正则表达式提取网页上表格的内容
- 通过正则表达式提取网页
- C#使用正则表达式提取网页中的信息数据
- Java提取网页中url的正则表达式
- java使用正则表达式的方法从json格式的字符串中提取需要的字符串
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- asp.net正则表达式提取网页网址、标题、图片,滤所有HTML标签
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- ASP.NET正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- linux与windows调用动态库so dll文件
- Java虚拟机(JVM)中的内存设置详解
- poj1995
- 玩命牛的成长记录(十)——连接数据库
- 第三讲 Gradient descent in practice II: Learning rate
- java 使用正则表达式从网页上提取网站标题 (转载)
- dfgdsfhgdhsd3424536sdrsrg
- c语言合法标识符
- Spring.NET初识
- 关于 CommonJS AMD CMD UMD
- java.lang.OutOfMemoryError: Java heap space Hadoop
- 43ahfasfgs759hasfgsjafsadf
- 了解 GNU GPL/GNU LGPL/BSD/MIT/Apache协议
- 第四讲 Matlab programming