本文实例讲述了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网页源代码的方法