分布式Web爬虫的设计

URL管理服务器(URL-Server):负责url的集中管理,不详细讨论
爬虫(Crawler):  从Server中取得一个url后,下载页面,提取链接,提取文本后保存。

 

爬虫的设计:

两个producer-consumer队列:URL的本地存取队列(CrawlURLQueue)和新产生的url缓存队列(NewURLQueue).

爬虫监控CrawlURLQueue队列当前的容量,当url减少到一定数目后,就向URL-Server中批量请求URL,并插入到CrawlURLQueue队列中;

每个爬虫从队列中取出url,提取链接,并把新产生的url插入到NewURLQueue;

当NewURLQueue到达一定容量后(或定时),提交给URL-Server

 

 

Crawler

 

 

线程:

1.CrawlURLQueue生产者线程,向URL-Server请求新的URL

2.CrawlURLQueue消费者线程,实际的爬虫线程个数(n),视机器性能而定

3.提取URL和正文线程

5,NewURLQueue消费者线程,提交到URL-Server

你可能感兴趣的:(Web)