西电校园搜索引擎开发(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
- 西电校园搜索引擎开发(3)--爬虫之主程
- 西电校园搜索引擎开发(4)--爬虫之布隆过滤器
- 西电校园搜索引擎开发(1)
- 西电校园搜索引擎(2)
- 搜索引擎的爬虫开发
- 搜索引擎之网络爬虫
- 搜索引擎之网络爬虫
- 搜索引擎手记(二)之爬虫的开发
- 搜索引擎技术之网络爬虫
- python 爬虫之校园招聘信息
- 小型搜索引擎之简单网络爬虫实现
- Lucene4.3搜索引擎开发之路分享
- Lucene4.3搜索引擎开发之路分享
- 搜索引擎之爬虫定义和爬虫搜索网页策略
- 搜索引擎核心读书心得3:分布式爬虫
- 网络搜索引擎---网络爬虫之原理分析和探讨
- 网络搜索引擎---网络爬虫之原理分析和探讨
- 架构师之路:Python分布式爬虫Scrapy打造搜索引擎
- xhprof安装&&使用
- TOM猫的简单实现
- 初学Nodejs:nodejs在web应用中充当着什么样的角色?
- 每个程序员都应当知道的编译器优化知识
- bzoj1108 s-t平面图上的最大流
- 西电校园搜索引擎开发(3)--爬虫之主程
- BC#33
- Android:Service的非绑定式的创建和生命周期
- 如何使错误日志更加方便地排查问题
- 《C++编程》第一章第5题
- c#面向对象(三)----类的声明
- java并发--并发集合
- CSDN markdown 编辑器 第四篇 LaTex语法
- C#使用ServiceController控制windows服务