zoukankan      html  css  js  c++  java
  • htmlparser学习(原创)

    --thumbelina.jar  这是一个演示图片搜索和显示的小程序JFrame

    Preferences.userNodeForPackage(getClass());  根据传入的class所在包的路径创建一个preferences

    prefs.flush();  保存到文件

    项目中字符串拼接多采用StringBuilder

    Lexer类用于对html格式的字符串解析成Node

    mImage = Toolkit.getDefaultToolkit().createImage(bytes);  //通过byte[]创建图片

    Rectangle功能很强大,可以计算与另一个Rectangle是否重叠,和获取重叠的的矩形

    file = File.createTempFile("thumbelina", suffix);  file.deleteOnExit();    //创建临时文件

    JViewport 用于查看底层信息的“视口”或“观察孔”。在滚动时,移动部分称为视口。这好像通过照相机的取景器进行查看。将取景器向上移动会将图片顶部的内部移入视野,而底部的内容将消失。  

    Tile类 英文是瓦,砖块的意思,很形象,接口编程,能得到“砖块”大小及位置Rectangle,它的状态Valid(有效/无效),它的id,项目里是图片对应的url

    Picture类  负责下载图片,并且它实现了Tile,就可以在TileSet中显示了。它还有PictureListener属性,可以把图片状态的改变事件暴露出来。

    PictureListener接口 对图片状态的监听

    PicturePanel类  没看明白里面内嵌类Watcher的作用??

    Sequencer类  把Picture放到队列里,一个线程定时地去取队列里面的图片,并呈现出来。

    TileSet类 把矩形“瓦”集中起来,处理一些矩形重叠的问题,图片分割和整合部分看不懂。

    ThumbelinaFrame类  程序的主界面

    Thumbelina类 主要是对图片和链接的获取逻辑。2014-6-3

    --sitecapturer.jar  一个抓取html和图片,并保存到本地的小程序,简单明了,以前我也想过找这样一个程序,把网页下载下来,放到本地看。

    这个小程序就是实现了这样一个功能了,当然了,你要扩展它,让它能下更多的东西,比如js,css什么的。

    SiteCapturer类  首先,它以内部类的形式定义ImageTag,LinkTag等的子类,封装得恰到好处。通过doSemanticAction()这个方法,在遍历的过程中得以执行,改写url为本地的。mCaptureResources是否获取资源文件。isToBeCaptured(String link)是否需要抓取。makeLocalLink(String link, String current)本地化链接地址。decode(String raw)对有%xx这样的编码进行解码。copy()下载资源,比如图片。 process()下载html,本地化url地址。分拣出各种资源并下载。

    WikiCapturer类,是上面刚提到类的子类,主要是通过重写isToBeCaptured(String link)的方式,补充了对某些url地址的过滤条件。

  • 相关阅读:
    【转】虚拟机 NAT网络设置
    [转载]应用 Valgrind 发现 Linux 程序的内存问题
    Visual Studio 代码格式化插件(等号自动对齐、注释自动对齐等)
    【转】链接任意目录下库文件(解决错误“/usr/bin/ld: cannot find -lxxx”
    C语言实现封装、继承和多态
    美国专利搜索网站
    【转】基于OCS实现高速缓存
    【转】防止网页被搜索引擎、爬虫和网页采集器收录或克隆复制的方法汇总
    [转]机器学习和计算机视觉----数学基础
    [转]机器学习与数据挖掘的学习路线图
  • 原文地址:https://www.cnblogs.com/angelshelter/p/3764071.html
Copyright © 2011-2022 走看看