c爬虫抓取网页数据(百度蜘蛛(baiduspider)毕业设计的部分内容的第二章)
优采云 发布时间: 2021-09-23 21:10c爬虫抓取网页数据(百度蜘蛛(baiduspider)毕业设计的部分内容的第二章)
以下是我毕业设计的第二部分“搜索引擎的工作原理”。第一章是导言,所以你不必把它写出来。因为这是一篇论文,是邹写的
2搜索引擎的工作原理2.1搜索引擎爬虫
不同的搜索引擎对爬虫有不同的通用名称。例如,百度爬虫称它们为“百度蜘蛛”,谷歌称它们为“谷歌机器人”。爬虫的作用:互联网上有数百亿个网页。爬虫程序需要做的第一件事是将如此大量的网页数据下载到本地服务器,以形成互联网页面的镜像备份。在转移到本地后,这些页面将通过一些后续算法处理,并显示在搜索结果上
2.@1.1搜索引擎爬虫框架
一般的爬虫框架流程如下:首先从海量的互联网页面中抓取一些高质量的页面,提取其中收录的URL,并将这些URL放入要抓取的队列中。爬虫程序依次读取队列中的URL,通过DNS解析将这些URL转换为相应的网站IP地址,web Downloader通过该IP地址下载页面的所有内容
对于已下载到本地服务器的页面,一方面等待索引和后续处理;另一方面,记录这些下载的页面以避免再次被捕获
对于新下载的页面,抓取页面中收录的未从页面爬网的URL,并将其放入要爬网的队列中。在随后的爬网过程中,将下载与URL对应的页面内容。当知道要爬网的队列为空时,此循环将完成一轮爬网。如图所示:
图2-1
当然,在当今互联网信息海量的时代,爬虫通常会持续工作以确保效率
因此,从宏观的角度来看,我们可以理解,互联网的页面可以分为以下五个部分:
a) 下载网页集
b) 过期页面集合
c) 要下载的页面集合
d) 已知页面集合
e) 不可知页面集合
当然,为了保证页面质量,在上述爬虫捕获过程中涉及了很多技术手段
2.@1.2搜索引擎爬虫分类
大多数搜索引擎爬虫系统都是按照上述流程工作的,但是不同搜索引擎的爬虫会有所不同。此外,同一搜索引擎的爬虫有多种分类。按功能分类:
a) 批量爬虫
b) 强化爬行动物
c) 直立爬行动物
百度搜索引擎分为:
a) 网络搜索百度皮德尔
b) 无线搜索Baiduspider Mobile
c) 图像搜索拜杜斯皮德图像
d) 视频搜索百度派珀视频
e) 新闻搜索百度风笛新闻
f) 百度方面的青睐
g) 百度领头羊CPRO
h) 移动搜索百度+转码器
2.@1.3搜索引擎爬虫的特点
由于互联网上有大量的信息和巨大的数据,搜索引擎必须有优秀的爬虫来完成高效的爬虫过程
a) 高性能
搜索引擎爬虫的高性能主要体现在单位时间内可以下载多少网页。互联网上的网页数量浩如烟海,网页的下载速度直接关系到工作效率。另外,程序访问磁盘的操作方式也非常重要,因此高性能的数据结构对爬虫的性能也有很大的影响
b) 健壮性
因为蜘蛛需要抓取的网页数量非常多。虽然下载速度很快,但完成爬网过程仍然需要很长的周期。因此,spider系统需要能够通过增加服务器和爬虫的数量灵活地提高效率
c) 友好
爬行动物的友好性主要体现在两个方面
一方面,需要考虑网站服务器的网络负载,因为不同的服务器具有不同的性能和承载能力。如果蜘蛛在太大的压力下爬行,可能会造成类似DDoS攻击的效果,可能会影响网站的访问,所以蜘蛛爬行互联网时需要注意网站负载
另一方面,网站的隐私需要得到保护,因为不是互联网上的所有页面都允许搜索引擎蜘蛛爬行,收录是因为其他人不想被搜索引擎收录搜索,所以他们不能被其他人从互联网上搜索
通常有三种方法限制蜘蛛的爬行:
1)机器人排除协议
网站所有者在网站的根目录中制定了一个robots.txt文件,该文件描述了网站中哪些目录和页面不允许百度蜘蛛抓取
通用robots.txt文件格式如下:
用户代理:baiduspider
不允许:/wp admin/
不允许:/wp包括/
“用户代理”字段指定搜索引擎的爬网程序的目标,而“禁止”字段指定不允许爬网的目录或路径
2)robot元标记
在页面头部添加网页捕获禁止标记,以禁止收录页面。有两种形式:
此表单说明不允许搜索引擎爬虫对此页面的内容编制索引
此表单告诉爬虫程序不允许爬虫页面中收录的所有链接
2.@1.4爬虫的爬行策略
在整个爬虫系统中,要爬虫的队列是核心,因此如何确定要爬虫的队列中的URL顺序是非常重要的。除了前面提到的将新下载页面中收录的URL自动附加到队列末尾的技术外,在许多情况下,还需要使用其他技术来确定要爬网的队列中的URL顺序以及所有爬网策略,它的基本目标是一样的:优先捕获重要的网页
常用的爬虫爬行策略包括:宽度优先遍历策略、不完全PageRank策略、opic策略和大站点优先策略
2.@1.5网页更新策略
该算法的意义在于,互联网上有很多页面,更新速度很快。因此,当互联网上某个页面的内容被更新时,爬虫程序需要及时对该页面进行重新爬网,索引并将其重新显示给用户。否则,很容易看到用户在搜索引擎搜索结果列表中看到的结果与实际页面内容不一致。有三种常见的更新策略:历史参考策略、用户体验策略和集群抽样策略
a) 历史参考策略
历史参考策略在很大程度上取决于网页历史的更新频率。根据历史更新频率判断页面未来的更新时间,从而指导爬虫的工作。更新策略还根据页面的更新区域判断内容更新。例如,网站页面的导航和底部不会改变
b) 用户体验策略
顾名思义,更新策略与用户体验数据直接相关,也就是说,如果一个页面不是很重要,那么以后更新它并不重要。如何判断页面的重要性?由于搜索引擎的爬虫系统和排名系统是相对独立的,当页面质量发生变化时,其用户体验数据也会发生变化,从而导致排名的变化。从那时起,判断一个页面质量的变化,即对用户体验影响较大的页面应该更新得更快
c) 整群抽样策略
上述两种更新策略有许多局限性。为互联网的每个网页保存历史页面的成本是巨大的。此外,捕获的第一个页面没有历史数据,因此无法确定更新周期。因此,整群抽样策略解决了上述两种策略的缺点。也就是说,每个页面都根据其属性进行分类。同一类别中的页*敏*感*词*有相似的更新周期。因此,更新周期是根据页面的类别确定的
对于每个类别的更新周期:从其各自的类别中提取代表性页面,并根据前两种更新策略计算其更新周期
页面属性分类:动态特征和静态特征
静态特性通常是:页面内容的特性,如文本、大小、图片大小、大小、链接深度、PageRank值、页面大小等
动态特征是静态特征随时间的变化,如图片数量、字数、页面大小等
整群抽样策略看似粗糙,但在实际应用中,效果优于前两种策略
第二章:简要分析搜索引擎的索引过程