zoukankan      html  css  js  c++  java
  • HTML解析器项目进展和新的构思

             这个解析器只是作为个人爱好去研究,陆陆续续的投入精力,持续了很长时间,这期间发生了很多的事情。我在上海落脚很长时间后才又继续开发,并把项目命名为Wittiness。
             项目的目的:构建一个Web信息挖掘机,能够高效方便的从网页中截取到需要的信息。
             构建思路是:解析HTML标记   -->  构建层次对象 -->  查询获取承载了需要信息的对象 -->  按对象层次输出结果
             其中难度比较大的就是解析标记和查询获取对象。解析标记我用过了正则表达式,字符串判断,SgmlReader,最好觉得SgmlReader用起来简单,效率也高。查询获取对象,目前实现的主要方法是以表为单位,按索引数来获得,这一块花的时间也比较少。
            新的想法:把HTML拆开读取为string[] 单位为一个HTML标记,用两个数组指针来确定要截取的部分,以个从头开始检索,一个从尾开始检索,这样能很好的解决标记配对的问题。在构造对象层次结构时候也只用数组指针,我想这样应该能提供效率和节约内存。再往后,可以把这个方法改进为流式处理,那么在读取大文件的时候效率就更高了。
             如果能有一个GUI的界面来让用户选择需要截取的内容,那么操作就更加方便了,不知道,象DreamWeaver这样的编辑器是怎么样开发的。
  • 相关阅读:
    查准率(precision)和查全率(recall)
    数据集大全:25个深度学习的开放数据集
    利用贝叶斯算法实现手写体识别(Python)
    KNN算法识别手写数字
    判断点在直线的左右哪一侧
    多节点bigchaindb集群部署
    java 多线程 3 synchronized 同步
    java 多线程 1 “常用的实现多线程的2种方式”:Thread 和 Runnable
    java 字符串
    java 关键字static
  • 原文地址:https://www.cnblogs.com/format/p/343854.html
Copyright © 2011-2022 走看看