Java获取任意http网页源代码的方法

  

本文实例讲述了JAVA获取任意http网页源代码。分享给大家供大家参考,具体如下:

  

JAVA获取任意http网页源代码可实现如下功能:

  

1。获取任意http网页的代码
  2. 获取任意http网页去掉HTML标签的代码

  

网页类:      /* *   *网页操作相关类   */包装测试;   进口java.io.BufferedReader;   进口java.io.InputStreamReader;   进口java.net.URL;   进口java.util.regex.Matcher;   进口java.util.regex.Pattern;/* *   * @author winddack   *   */公共类网页{   私人字符串pageUrl;//定义需要操作的网页地址   私人字符串pageEncode=" UTF8”;//定义需要操作的网页的编码   公共字符串getPageUrl () {   返回pageUrl;   }   公共空间setPageUrl(字符串pageUrl) {   这一点。pageUrl=pageUrl;   }   公共字符串getPageEncode () {   返回pageEncode;   }   公共空间setPageEncode(字符串pageEncode) {   这一点。pageEncode=pageEncode;   }//定义取源码的方法   公共字符串getPageSource ()   {   StringBuffer某人=new StringBuffer ();   尝试{//构建一URL对象   网址URL=new URL (pageUrl);//使用openStream得到一输入流并由此构造一个BufferedReader对象   BufferedReader=new BufferedReader(新InputStreamReader (url.openStream (), pageEncode));   字符串行;//读取www资源   在((=in.readLine行())!=null)   {   sb.append(线);   }   in.close ();   }   捕获(异常交货)   {   System.err.println (ex);   }   返回sb.toString ();   }//定义一个把HTML标签删除过的源码的方法   公共字符串getPageSourceWithoutHtml ()   {   最终字符串regEx_script=" & lt;脚本(^祝辞)* & # 63;祝辞(\ \ \ \年代)* & # 63;& lt; \ \/script>”;//定义脚本的正则表达式   最终字符串regEx_style=" & lt;风格[^祝辞)* & # 63;祝辞(\ \ \ \年代)* & # 63;& lt; \ \/style>”;//定义风格的正则表达式   最终字符串regEx_html=" & lt;[^祝辞]+祝辞”;//定义HTML标签的正则表达式   最终字符串regEx_space=" \ \ s * | \ t | | \ r \ n”;//定义空格回车换行符   字符串htmlStr=getPageSource();//获取未处理过的源码   模式p_script=Pattern.compile (regEx_script Pattern.CASE_INSENSITIVE);   匹配器m_script=p_script.matcher (htmlStr);   htmlStr=m_script.replaceAll (" ");//过滤脚本标签   模式p_style=Pattern.compile (regEx_style Pattern.CASE_INSENSITIVE);   匹配器m_style=p_style.matcher (htmlStr);   htmlStr=m_style.replaceAll (" ");//过滤风格标签   模式p_html=Pattern.compile (regEx_html Pattern.CASE_INSENSITIVE);   匹配器m_html=p_html.matcher (htmlStr);   htmlStr=m_html.replaceAll (" ");//过滤html标签   模式p_space=Pattern.compile (regEx_space Pattern.CASE_INSENSITIVE);   匹配器m_space=p_space.matcher (htmlStr);   htmlStr=m_space.replaceAll (" ");//过滤空格回车标签   htmlStr=htmlStr.trim ();//返回文本字符串   htmlStr=htmlStr.replaceAll (“,,”、“”);   htmlStr=htmlStr。substring (0, htmlStr.indexOf (“。”) + 1);   返回htmlStr;   }   }      之前      

调用:         网页页面=new网页();   page.setPageUrl (“http://www.baidu.com”);   字符串代码=page.getPageSourceWithoutHtml ();   System.out.println(代码);      之前      

  http://tools.jb51.net/regex/javascript

  http://tools.jb51.net/regex/create_reg

  

更多关于java算法相关内容感兴趣的读者可查看本站专题:《java正则表达式技巧大全》,《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》

  

希望本文所述对大家java程序设计有所帮助。

Java获取任意http网页源代码的方法