全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

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

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

Webpage类:

/**
 * 网页操作相关类
 */
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @author winddack
 *
 */
public class Webpage {
  private String pageUrl;//定义需要操作的网页地址
  private String pageEncode="UTF8";//定义需要操作的网页的编码
  public String getPageUrl() {
    return pageUrl;
  }
  public void setPageUrl(String pageUrl) {
    this.pageUrl = pageUrl;
  }
  public String getPageEncode() {
    return pageEncode;
  }
  public void setPageEncode(String pageEncode) {
    this.pageEncode = pageEncode;
  }
  //定义取源码的方法
  public String getPageSource()
  {
    StringBuffer sb = new StringBuffer();
    try {
      //构建一URL对象
      URL url = new URL(pageUrl);
      //使用openStream得到一输入流并由此构造一个BufferedReader对象
      BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), pageEncode));
      String line;
      //读取www资源
      while ((line = in.readLine()) != null)
      {
        sb.append(line);
      }
      in.close();
    }
    catch (Exception ex)
    {
      System.err.println(ex);
    }
    return sb.toString();
  }
  //定义一个把HTML标签删除过的源码的方法
  public String getPageSourceWithoutHtml()
  {
    final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式
    final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式
    final String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
    final String regEx_space = "\\s*|\t|\r|\n";//定义空格回车换行符
    String htmlStr = getPageSource();//获取未处理过的源码
    Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
    Matcher m_script = p_script.matcher(htmlStr);
    htmlStr = m_script.replaceAll(""); // 过滤script标签
    Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
    Matcher m_style = p_style.matcher(htmlStr);
    htmlStr = m_style.replaceAll(""); // 过滤style标签
    Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
    Matcher m_html = p_html.matcher(htmlStr);
    htmlStr = m_html.replaceAll(""); // 过滤html标签
    Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);
    Matcher m_space = p_space.matcher(htmlStr);
    htmlStr = m_space.replaceAll(""); // 过滤空格回车标签
    htmlStr = htmlStr.trim(); // 返回文本字符串
    htmlStr = htmlStr.replaceAll("&nbsp;", "");
    htmlStr = htmlStr.substring(0, htmlStr.indexOf("。")+1);
    return htmlStr;
  }
}

调用:

Webpage page=new Webpage();
page.setPageUrl("http://www.baidu.com");
String code=page.getPageSourceWithoutHtml();
System.out.println(code);

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

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

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


# Java  # 获取  # 任意  # http网页  # 源代码  # JAVA使用爬虫抓取网站网页内容的方法  # java抓取网页数据获取网页中所有的链接实例分享  # java正则表达式匹配网页所有网址和链接文字的示例  # java简单网页抓取的实现方法  # Java中使用正则表达式获取网页中所有图片的路径  # java 抓取网页内容实现代码  # java抓取网页数据示例  # Java用正则表达式如何读取网页内容  # java实现网页解析示例  # 用javascrpt将指定网页保存为Excel的代码  # 正则表达式  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 再为  # 测试工具  # 未处理  # 换行符  # 讲述了  # pageEncode  # pageUrl  # void  # return  # getPageUrl 


相关文章: 代刷网站制作软件,别人代刷火车票靠谱吗?  已有域名能否直接搭建网站?  如何用西部建站助手快速创建专业网站?  建站之星在线客服如何快速接入解答?  如何自定义建站之星网站的导航菜单样式?  建站主机默认首页配置指南:核心功能与访问路径优化  Python文件管理规范_工程实践说明【指导】  高防服务器如何保障网站安全无虞?  建站主机是否等同于虚拟主机?  ,网页ppt怎么弄成自己的ppt?  宝塔新建站点报错如何解决?  如何在云指建站中生成FTP站点?  简单实现Android文件上传  建站ABC备案流程中有哪些关键注意事项?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  公司网站设计制作厂家,怎么创建自己的一个网站?  建站主机CVM配置优化、SEO策略与性能提升指南  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  制作网站的基本流程,设计网站的软件是什么?  建站之星如何防范黑客攻击与数据泄露?  如何在Windows环境下新建FTP站点并设置权限?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何在七牛云存储上搭建网站并设置自定义域名?  如何通过cPanel快速搭建网站?  如何使用Golang安装API文档生成工具_快速生成接口文档  如何做静态网页,sublimetext3.0制作静态网页?  如何在阿里云购买域名并搭建网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  设计网站制作公司有哪些,制作网页教程?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  详解jQuery中基本的动画方法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  建站之星官网登录失败?如何快速解决?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  大连 网站制作,大连天途有线官网?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何通过IIS搭建网站并配置访问权限?  如何快速搭建高效WAP手机网站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  建站之星如何开启自定义404页面避免用户流失?  如何快速启动建站代理加盟业务?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  黑客如何通过漏洞一步步攻陷网站服务器?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  广东企业建站网站优化与SEO营销核心策略指南  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  宝塔建站无法访问?如何排查配置与端口问题?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何在万网ECS上快速搭建专属网站?  建站之星免费版是否永久可用? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。