2007-05-21

HTML Parser 结果

这里贴出HTML Parser的结果。将一个HTML文档转化为树结构。为了表示树结构,我用了缩进的表示方法,一个节点的子节点比它缩进更多。

2007-05-20

HTML Parser : CSS Parser

现在已经可以将HTML解析成DOM,现在的任务是视觉上的,就是解析CSS,从而获得每一段文本的位置和字体,颜色等信息。这一步也不是很困难。

其实我认为HTML Parser中最困难的是Javascript的解析,这个难度和写一个编译器差不多了,我感觉我可能搞不定。可以找找这方面的开放源代码。

其实,如果把HTML,CSS,JavaScript都解析了,也就离做一个浏览器差不多了,嘿嘿

2007-05-18

HTML Parser 0.0

I have finish the simple html parser, in this parser, I convert html document to a Tree. Like Javascript, I design following functions in my C++ HTML Parser Library:
  1. getElementById
  2. innerHTML

已经初步完成了HTML Parser, 可以将HTML文档解析成一棵树。为了使用方便,我参照了JavaScript DOM的设计方法,给出了以下函数:

  1. 为了获得文档中的某个节点,可以用 getElementByID
  2. 为了获得某个节点的html代码,可以用 innerHTML

HTML Parser的编写还在继续中,现在主要是测试大量的文档,因为HTML Parser的最大困难是容错。

HTML 解析

这个问题烦了我们很久了,目标就是将HTML解析成DOM,这方面的C++开源代码几乎没有,只有借用firsfox的解释器。但是firefox的规模太大,用起来很不方便。

对这个问题我不爽了很久了,我决定不再不爽下去了,我准备花点时间把它彻底解析了。HTML解析的最大难度,在于HTML标准的高度不规范,它的解释器需要写的高度容错。这个很有挑战。

2007-05-16

HTML Tree : HtmlParser

最近在研究HTML解析,这方面的C++的库太少了,只发现了一个HTML_Tree。正在研究中,这个库将HTML文档解析成一棵树。

这个月买了几本书

  1. 模式分析的核方法
  2. C++并行与分布式编程
  3. 西方哲学史
  4. 裸猿
  5. 文明与野蛮
  6. 三国志

嘿嘿嘿,准备补习一下社科方面的知识,嘿嘿嘿。

2007-05-14

基于链接的排名欺诈发现

SIGKDD 2006 : Site level noise removal for search engine

这篇文章介绍了在网站级别上的欺诈网站的发现,通过去除欺诈的链接,避免通过pagerank算法提高排名。文章分析了链接欺诈的方式:
  1. 建立两个网站,然后在这两个网站之间建立大量的链接,这样就可以同时提升两个网站的排名。如果两个网站之间的链接超过一定的数量,删去两个网站间的所有链接。
  2. 指向一个网站的大多数链接来自另一个网站。
  3. 指向一个网站的链接大多来自于一个相互联系紧密的网站集合。

2007-05-08

Graph Cluster(图的聚类)




基于图的可视化的那个软件,完成的图的顶点的聚类,这是一个图的基本的算法。

2007-05-06

放假归来

嘿嘿,五一长假快结束了,我也从家里回到北京了,嘿嘿

2007-04-25

图的可视化

我准备把那个Graph可视化的软件做的更强大一点,下面是一个动画:

耐心的等一下...

2007-04-22

python 爬虫

我把上次写得python的爬虫写得更快了。使用了多线程,可以同时爬5个网站。同时用了配置文件,在配置爬虫的时候只需要修改配置文件就可以了。
下面是配置文件的样子,现在1个小时可以爬10000个网页,和C++的爬虫相比还是很慢,但是对于小的搜索引擎是足够了,嘿嘿。



我现在将berkeley db加入到系统中,基本上已经是一个小型的引擎了。
python与berkeleyDB的接口是bsddb,关于它的讨论可以从Google上获得。

2007-04-17

简单数据库设计

最近准备做一个简单的数据库,我们知道数据库的最基本的作用是查找,就是给一个key,返回一个value。其实就是相当于C++中的map。但是由于数据库的存储量巨大,不可能把所有的数据放到内存中,所以我们要做一个基于文件的map

我用C++定义了这个数据格式。目前已经写出了第一个板本,速度还行。只是目前需要将索引表完全放在内存中,这样耗费的内存还比较大,这一点需要改进。我感觉STL的map比较耗费内存。所以准备写一个不怎么耗内存的map,嘿嘿。