您的位置:首页 > 运维架构 > 网站架构

请画出一个抓虫系统的架构图并说明你的爬虫需要如何优化来提升性能

2015-03-29 12:17 776 查看
该题目来自阿里2014年秋季校园招聘《系统工程师》笔试题的附加题。
原题目为:
3.搜索引擎是很常用的web应用。大部分搜索引擎需要设计一个抓虫(Crawler),从很多网站抓去网页,分析数据,供搜索引擎使用。
设想你来做一个搜索引擎的爬虫,需要抓去约一百万家网站的网页内容。
1) 请画出一个抓虫系统的架构图。2) 重点说明你的爬虫需要如何优化来提升性能。

查阅相关资料,做出以下解答:
爬宠系统大致分为以下几个部分,分别为:
爬虫模块:阶段性地抓取互联网上的内容
存储模块:存储爬虫下载下来的网页,是分布式的和可扩展的存储系统
解析模块:提取文本和网页的链接集合。
URL管理模块:重复消除模块决定一个解析出来的链接是否已经在URLFrontier或者最近下载过
索引模块:将抓取到的信息经过优化,建立索引
任务队列(URL集):需要爬取得网页列表
DNS模块:解析模块根据给定的URL决定从哪个Web服务器获取网页





可以优化的地方:

爬虫模块并行
DNS缓冲
文本解析去重
建立索引时可以优化
URL去重也可能有优化算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐