一孑 posted on 四月 21, 2009 07:10

正在给Soukey采摘增加一个爬虫的功能,作为一个任务放到soukey采摘中,这样指定一个入口地址即可将所需的采集的信息采集出来,类似搜索引擎的做法。本以为做一个简单的爬虫程序不是很难,但在编写的时候才发现要想做好,确实有难度。

在此整理了一些,仅供参考:

1、算法:是采用广度优先还是深度优先,从算法考虑,广度优先性能高且算法简单;

2、网址解析:网址解析相对比较容易,但需要考虑是否进行外部网址的探测,如果进行外部网址探测,则就开始了一个蜘蛛网的爬行了;

3、探测网址深度设定:通常情况是所有的网址都可以探测到,只要深度足够,且网站链接做的足够好;

4、重复网址的剔除,很多网页都会共同指向一个网址,这个网址不能重复进行检测;

5、线程同步,多个线程会对一个待检测的队列进行访问,以进行网址探测,不能让多个线程访问统一个网址;

6、数据存储,当需要检测大量的网址时,数据是否还需要存储在内存中,譬如:会检测到几十万的网址;

实际还有很多问题,正在慢慢看,也在优化,现在的性能还不是很好,比起xenu差很远。不过等基本完成后,还是会上传上来,大家一起研究吧,呵呵

 


Posted in:   Tags:
不允许评论

Blog Roll

    最新评论

    一孑工作室声明
    本站文章均为原创,如果转载请注明出处。

    © Copyright 2012『一孑工作室』
    管理我的网站
    京ICP备10018014号