`
yuqihengsheng
  • 浏览: 14715 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

老紫竹——一段将网页静态化的代码。

阅读更多
不多说,直接看源代码,思路很简单,用URLConnection读取页面,然后保存就行了。


import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

/**
* 一段将网页静态化的代码。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public class Test {
  /**
   * 将信息转化为静态html
   *
   * @param sUrl
   *          动态信息访问URL
   * @param charset
   *          编码类型
   * @param sSavePath
   *          存储为静态文件的目录
   * @param sHtmlFile
   *          生成的静态文件名,可以按信息的唯一ID+.html命名
   * @throws IOException
   */
  public static void convert2Html(String sUrl, String charset,
      String sSavePath, String sHtmlFile) throws IOException {

    int HttpResult;
    URL url = new URL(sUrl);
    URLConnection urlconn = url.openConnection();
    // 抽象类 URLConnection
    // 是所有类的超类,它代表应用程序和 URL
    // 之间的通信链接,通过在 URL 上调用
    // openConnection 方法创建连接对象
    urlconn.connect(); // 使用 connect 方法建立到远程对象的实际连接
    HttpURLConnection httpconn = (HttpURLConnection) urlconn;
    // 每个
    // HttpURLConnection
    // 实例都可用于生成单个请求,
    // 但是其他实例可以透明地共享连接到
    // HTTP 服务器的基础网络
    HttpResult = httpconn.getResponseCode();
    // getResponseCode可以从 HTTP
    // 响应消息获取状态码
    if (HttpResult != HttpURLConnection.HTTP_OK) {
    } else {
      InputStreamReader isr = new InputStreamReader(httpconn.getInputStream(),
          charset);
      BufferedReader in = new BufferedReader(isr);
      String inputLine;
      if (!sSavePath.endsWith("/")) {
        sSavePath += "/";
      }
      FileOutputStream fout = new FileOutputStream(sSavePath + sHtmlFile);
      while ((inputLine = in.readLine()) != null) {
        System.out.println(inputLine);
        fout.write((inputLine+"\n").getBytes());
      }
      in.close();
      fout.close();
    }
  }

  public static void main(String[] args) throws IOException {
    Test ru = new Test();
    String filePath = ru.getClass().getResource(".").getPath().toString(); // 取得项目根目录

    convert2Html("http://www.java2000.net/", "UTF-8", filePath + "/",
        "aaaa.htm");
  }
}

分享到:
评论
1 楼 仅此而已 2011-05-18  
学习了。 感谢分享

相关推荐

    老紫竹网页采集系统,令你一看就上手的搜索引擎

    老紫竹网页采集系统是一款专为初学者设计的搜索引擎开发工具,它简化了网页数据抓取的复杂过程,使得用户可以快速理解并实践搜索引擎的基本原理。这个系统的特点在于其易于理解和操作,即使对于编程经验不多的用户,...

    跟老紫竹学Java-计数器项目源代码

    在本项目"跟老紫竹学Java-计数器项目源代码"中,我们主要学习如何使用不同的技术来实现一个简单的计数器功能,用于记录页面的访问次数。计数器是一个常见的应用场景,它能够帮助我们了解网站或应用的受欢迎程度。...

    老紫竹信息采集系统0.1版

    《老紫竹信息采集系统0.1版》是一款基于Spring框架和Lucene搜索引擎进行二次开发的信息采集工具。这款系统的设计理念在于提供一个轻量级、易于理解和操作的解决方案,使得开发者能够快速配置并启动对特定网站的数据...

    紫竹手机下载系统(含MP3切割组合功能)

    《紫竹手机下载系统——MP3切割组合功能详解》 紫竹手机下载系统是一款专为手机用户设计的高效、便捷的下载工具,尤其引人注目的是其内置的MP3切割组合功能,使得用户在享受音乐下载的同时,还能进行音频处理,满足...

    老紫竹网页采集系统

    老紫竹网页采集系统=================安装配置-------1 程序我就不说了2 配置文件 applicationContext.xml 里面有详细的注释3 已经包含了CSDN论坛、博客园、新浪博客、百度Hi的解析参数需要的类库---------1 Spring ...

    信息采集系统(老紫竹搜索引擎0.4 测试版 包括了部分B/S程序 )

    1 完全基于人工收录,每个被收录的帖子都是我们认为不错的。 2 任何人都可以加入,别人也可以分享到你加入的内容 3 收录的内容,不是简单的抓取,而是只收录里面最有用的部分,比如主题,内容...(版权归老紫竹所有)

    层楼式石碹窑洞空间组合方式探析——以太原店头村郭家东西院及紫竹林寺为例

    以山西省太原市店头古村层楼式石碹窑洞的典型代表郭家东、西院以及紫竹林寺为例,通过实地调研、测绘、计算机建模等方法,对层楼式石碹窑洞建筑的空间组合方式进行了分析,总结出其相互渗透的空间特色。该组建筑群不仅...

    loadunner进行B/S测试的培训PPT下载-老紫竹

    【LoadRunner进行B/S测试的培训PPT下载-老紫竹】 LoadRunner是一款强大的性能测试工具,主要用于评估和优化应用程序的性能。在这个培训文档中,我们主要关注的是如何使用LoadRunner进行基于B/S(Browser/Server)...

    IDEA将代码逻辑导出思维导图的插件使用说明见:https://blog.csdn.net/qq_27840695/artic

    在开发过程中开发人员在编程代码时或者在编程后,需要手动的去创建一个代码逻辑的思维导图进行说明代码的逻辑,在代码逻辑更改的时候,也需要同步去更新代码的逻辑思维导图,多做了一步维护思维导图的工作。这个插件就是...

    提供源码查看的网页采集系统

    这个名为“老紫竹网页采集系统”的项目,提供了源码供用户查看和学习,这使得开发者能够深入理解其工作原理,根据自身需求进行定制化开发。在这个系统中,我们可以探索到以下几个核心知识点: 1. **网页抓取**:...

    普陀山紫竹林导游词介绍5篇精选.doc

    普陀山紫竹林导游词介绍5篇精选.doc

    紫竹国际教育园区.docx

    紫竹国际教育园区是中国上海闵行区的一个重要教育与科研基地,旨在打造世界级的高等教育集聚区和产学研深度融合示范区。该园区由闵行区人民政府与紫竹国家高新技术产业开发区共同建立,目的是结合创新型城市建设和...

    紫竹本地影音文件速查器V1.0绿色免费版

    紫竹本地影音文件速查器是款针紫竹影音打造的本地音频文件查看工具。用户可以通过这款软件快速找到想要的影音文件,欢迎下载 【软件特色】  1.软件功能简单,但是非常的使用  2.省去了复杂的安装过程,解压即用...

    紫竹桩基:2018年年度报告.PDF

    辽宁紫竹桩基础工程股份有限公司(简称“紫竹桩基”,股票代码:830894)的2018年年度报告,全面展示了公司在过去一年的经营状况、财务数据、管理层分析以及未来发展计划。报告内容涵盖了一系列关键领域,包括公司...

    紫竹慧:2019年年度报告.PDF

    作为一家专注于建设服务的公司,紫竹慧在这一年中承担了多个具有重大影响力的建设项目。 首先,紫竹慧参与了贵州省贵阳市开州湖特大桥的建设,这是贵州省交通运输“十三五”发展规划中的关键项目。这座大桥横跨洛旺...

    观赏植物的识别——观赏藤本.doc

    - 金银花是一种常绿或半常绿的藤本植物,依靠缠绕茎攀援生长。 - 具有条状剥落的茎皮和密生柔毛的小枝。 - 叶片卵形或椭圆形,花成对腋生,有总柄和叶状苞片,花初期白色,后期转为黄色,带有香气。 - 花期在5月...

    鑫紫竹:2019年年度报告.PDF

    1. **公司基本信息**:鑫紫竹的NEEQ代码为837952,主要涉及医疗器械行业。报告由公司高层管理人员如董曲辰(负责人)、刘朝霞(主管会计工作负责人)和翟晓辉(会计机构负责人)保证其真实性、准确性和完整性。 2. ...

Global site tag (gtag.js) - Google Analytics