西电校园搜索引擎开发(3)--爬虫之主程

来源:互联网 发布:电力系统仿真软件比较 编辑:程序博客网 时间:2024/04/30 07:06



        上图是我粗略画的爬虫架构图,程序上表现也大致如此。下面简单介绍各个部分的内容:

       1.种子url文件格式如: http://www.xidian.edu.cn  10 为url  url优先级,初始化的url文件需要手工进行收集整理,如我用西电导航的网址http:/123.xidian.edu为seed url

        2.ToDoQueue为合适结构的优先级队,为了提高爬取效率会开多线程,其url分配策略可能如下图2,所以需要保持同步。


        3.网页的捉取主要涉及网络编程方面程序有一个专门的DownLoader来处理,本地文件的保存非常重要,因为涉及到后面建立索引文件等过程。 

4.需要一个类来解析网页中的所有链接

5.布隆过滤是为了防止重复爬取url,导致程序死循环且消耗资源。判断新解析出来的url是否访问过,为访问过加入ToDoQueue中

        6.错误处理也是一环,当出错做日志记录,当发生致命性错误程序停止前需把ToDoQueue还没有出队的url覆盖原种子url文件,并且将当前的BloomFilter中数据写入bloomfilter存储文件中,这样之后程序不会/不必再次爬取.


下图是我自己用StarUML鼓捣的UML图,由于我没有系统的学过,如果发现什么错误关系,请指正。


                                                                  





0 0
原创粉丝点击