基于c#的网络爬虫搜索引擎的设计

基于c#的网络爬虫搜索引擎的设计

ID:27031097

大小:54.00 KB

页数:6页

时间:2018-11-30

基于c#的网络爬虫搜索引擎的设计_第1页
基于c#的网络爬虫搜索引擎的设计_第2页
基于c#的网络爬虫搜索引擎的设计_第3页
基于c#的网络爬虫搜索引擎的设计_第4页
基于c#的网络爬虫搜索引擎的设计_第5页
资源描述:

《基于c#的网络爬虫搜索引擎的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于C#的网络爬虫搜索引擎的设计基于C#的网络爬虫搜索引擎的设计  经过最近这些年的发展,搜索引擎已经改变了信息的获取甚至存储方式。用户不再需要将大量信息存储在终端机上,而是在需要信息的时候直接运用搜索引擎来获取,这样不仅节约了存储空间,也能获取到最新、最准确的数据,从某种意义上来说,由于有了搜索引擎,我们便可以把一些记忆任务交给机器来完成。搜索引擎有运行在大规模云计算的通用搜索引擎,也有一些行业搜索以及网站搜索。通用搜索引擎是大颚,每一只都有自己独立的领地。行业搜索是领头雁,是各行业的旗帜。而网站搜索则像一只

2、只小麻雀,虽小却五脏俱全。无论是哪一种搜索引擎都包含采集数据的爬虫和索引库的管理以及搜索页面本文由.L.收集整理展现等部分,而网络爬虫则是开发一个搜索引擎最常用的技术。  网络爬虫(Crainistrator>nslookup.gxibvc.  服务器:gxibvc.gx.  Address:202.108.53.181  应答:  名称:.gxibvc.  Address:211.189.214.127  2网络爬虫的架构  一般网络爬虫软件都由以下几个模块组成:  2.1保存种子和爬取出来的URL的数

3、据结构  农民会把有生长潜力的农作物籽用作下一季的种子,而技术人员则把一些活跃的网页用作种子URL,例如网站的首页或者列表页,因为在这些页面经常会发现新的链接。通常爬虫都是从一系列的种子URL开始爬取,一般从数据库表或者配置文件中读取这些种子URL。而保存待抓取的URL的数据结构却会因为系统的规模、功能不同有可能采取不同的策略。一个比较小的示例爬虫程序,可能就使用内存中的一个队列,或者是优先级队列进行存储。一个中等规模的爬虫程序,可能使用内存数据库来存储,如果内存不足还可以序列化到磁盘上。但是真正大规模的爬虫系

4、统,是通过服务器集群来存储已经爬取出来的URL,并且还会在存储URL的表中附带一些其他信息,比如说pagerank值,供以后的计算使用。  2.2保存已经抓取过的URL的数据结构  已经抓取过的URL的规模和待抓取的URL的规模是一个相当的量级。正如我们前面介绍的TODO和Visited,但是,它们唯一的不同是Visited表会经常被查询,以便确定发现的URL是否已经处理过。因此,如果Visited表数据结构是一个内存数据结构的话,可以采用散列表来存储,如果保存在数据库中的话,可以对URL列建立索引。  2.3

5、页面获取模块  当从种子URL队列或者抓取出来的URL队列中获得URL后,便要根据这个URL来获得当前页面的内容,获得的方法非常简单,就是普通的I/O操作。在这个模块中,仅仅是把URL所指的内容按照二进制的格式读出来,而不对内容做任何处理。  2.4提取已经获取的网页的内容中的有效信息  从页面获取模块的结果是一个表示HTML源代码的字符串。从这个字符串中抽取各种相关的内容,是爬虫软件的目的。因此这个模块就显得非常重要。  通常在一个网页中,除了包含有文本内容还有图片,超链接等等。对于文本内容,首先把HTML源

6、代码的字符串保存成HTML文件。关于超链接提取,可以根据HTML语法,使用正则表达式来提取,并且把提取的超链接假如到TODO表中,也可以使用专门的HTML文档解析工具。在网页中,超链接不光指向HTML页面,还会指向各种文件,对于除了HTML页面的超链接之外,其他内容的链接不能放入TODO表中,而要直接下载。因此,在这个模块中,还必须包含提取图片,JavaScript,PDF,DOC等内容的部分。在提取过程中,还要针对HTTP协议,来处理返回的状态码。  2.5负责连接前处理模块,负责连接后处理模块和过滤器模块 

7、 如果只抓取某个网站的网页,则可以对URL按域名过滤。  2.6多线程模块  爬虫主要消耗三种资源:网络宽带,中央处理器和磁盘。三者中任何一者都有可能成为瓶颈,其中网络快带一般是租用,价格相对昂贵。为了增加爬虫效率,最直接的方法就是使用多线程的方式进行处理。在爬虫系统中,将要处理的URL队列往往是唯一的,多个线程顺序地从队列中取得URL,之后各自进行处理(处理阶段是并发进行)。通常可以利用线程池来管理线程。  2.7分布式处理  分布式计算是当今计算技术的主流。这项技术也可以同时用在网络爬虫上面。把抓取任务分不

8、到不同的节点分布,主要是为了可扩展性,也可以使用物理分布的爬虫系统,让每个爬虫节点抓取靠近它的网站。  3网络爬虫遍历与实现  网络爬虫的抓取原理是从互联网中的一个网页开始,根据网页中的超级链接逐个抓取网页中链接的其他网页。而网页通过超级链接互相链接,组成了一个庞大的无形的网,信息量十分庞大,网络爬虫不可能抓取所有的网页信息,所以使用网络爬虫抓取网页要遵循一定的原则,主要是广度优先原则

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。