搜索引擎如何抓取网页(网络蜘蛛的基本原理及相关技术的区别-苏州安嘉)
优采云 发布时间: 2022-01-23 14:09搜索引擎如何抓取网页(网络蜘蛛的基本原理及相关技术的区别-苏州安嘉)
锦衣
摘要:主要介绍了网络蜘蛛的基本原理和相关技术。
关键词:网络蜘蛛搜索引擎
链接深层动态页面
CLC 编号 TP393.09
*敏*感*词*识别码A文章编号:1002-2422(2007)05-0006-02
中文搜索引擎的召回率需要保证不漏掉一些重要的结果,能找到最新的网页,这就需要搜索引擎有一个强大的网页采集器(称为“网络蜘蛛”),一个优秀的搜索引擎,需要不断优化网络蜘蛛的算法以提高其性能。主要介绍网络蜘蛛的基本原理和相关技术。
1 网络蜘蛛的基本原理
网络蜘蛛就是网络蜘蛛,通过网页的链接地址找到一个网页,从网站的某个页面开始,读取网页的内容,找到网页中的其他链接地址,然后通过这些链接地址搜索下一页。一个网页,以此类推,直到这个网站的所有网页都被爬取。
在抓取网页时,网络蜘蛛一般有两种策略:广度优先和深度优先。广度优先是指网络蜘蛛会先爬取起始页链接的所有页面,然后选择其中一个链接的页面,继续爬取该页面链接的所有页面。深度优先的意思是网络蜘蛛会从起始页开始,跟踪每一个链接,处理完这一行之后再到下一个起始页,继续跟踪链接。两种策略的区别如图 1 所示。
网络蜘蛛在访问网站网页时,经常会遇到加密数据和网页权限的问题。某些网页需要会员权限才能访问。网站 的拥有者可以通过协议阻止网络蜘蛛爬行。一些卖报告的网站,他们希望搜索引擎可以搜索到他们的报告,但不能让搜索者完全免费查看,所以需要提供相应的用户名和密码给网络蜘蛛。网络蜘蛛可以通过给定的权限抓取这些网页,从而提供搜索,当搜索者点击查看网页时,搜索者也需要提供相应的权限验证。
2 内容提取
搜索引擎建立网页索引,处理对象为文本文件。对于网络蜘蛛来说,要爬取的网页格式包括html、图片、doc、pdf、多媒体、动态网页等格式。捕获这些文件后,需要提取这些文件中的文本信息。准确提取这些文档的信息,一方面对搜索引擎的搜索准确性有重要影响;另一方面,它对网络蜘蛛正确跟踪其他链接有一定的影响。
(1)doe、pdf等专业厂商提供的软件生成的文档都会提供相应的文本提取接口,网络蜘蛛只需要调用这些插件的接口即可提取文档和其他相关文档中的文本信息信息。
过滤掉这些无用的链接也是很有必要的。要过滤这些无效链接,需要统计大量的网页结构规则。提取一些共性并统一过滤。对于一些重要且特殊的结果网站,需要单独处理。这就要求 web spiders 的设计具有一定的可扩展性。
(3)对于多媒体、图片等文件,这些文件的内容一般是通过链接的锚文本和相关的文件注释来判断的。比如,如果有链接文本带有文字“照片的北京大学”,链接指向一个bmp格式的图片,那么网络蜘蛛就会知道这张图片的内容是“北京大学的照片”,这样在搜索“北京大学”和“照片”时,搜索引擎可以找到这张图。另外,很多多媒体文件中都有文件属性,考虑到这些属性也能更好的理解文件的内容。
(4)动态网页一直是网络蜘蛛所面临的问题。随着开发语言越来越多,动态网页的种类越来越多,网络蜘蛛比较难处理的就是一些脚本生成的那些语言(如VBScdpt和JavaScript)网页,如果想要很好地处理这些网页,网络蜘蛛需要有自己的脚本解释器。对于很多放在数据库中的数据网站,你需要搜索通过这个网站的数据库来获取信息,这给网络蜘蛛的抓取带来了很大的困难,如果网站的设计者想要这些数据被搜索引擎搜索到,就需要提供一个可以遍历整个数据库内容的方法。
网页内容的提取一直是网络蜘蛛中的一项重要技术。整个系统一般采用插件的形式。通过插件管理服务程序,不同格式的网页由不同的插件处理。这种方法的优点是具有良好的可扩展性。每发现一种新的类型,就可以将处理方法制作成插件,添加到插件管理服务程序中。
3个更新周期
由于网站的内容是不断变化的,网络蜘蛛也需要不断更新它所抓取的网页内容,所以网络蜘蛛需要按照一定的周期扫描网站,看看哪些页面需要待更新,哪些页面是新页面,哪些页面是过期的死链接。
搜索引擎的更新周期对搜索的召回率影响很大。如果更新周期过长,总会有一些新生成的网页搜索不到;如果周期太短,技术实现会很困难,还会浪费带宽和服务器资源。并非所有搜索引擎的网站网络蜘蛛都在同一个周期内更新,一些更新量大的重要更新网站更新周期较短,比如一些新闻网站,几个它每小时更新一次。相反,一些不重要的网站,更新周期长,可能一两个月才更新一次。
一般来说,网络蜘蛛在更新网站的内容时不需要重新爬取网站网页。对于大多数网页来说,只需要判断网页的属性(主要是日期),并将获取的属性与上次获取的属性进行比较,如果相同,则无需更新。
4。结论
网络蜘蛛可以被认为是为互联网开发的最有用的工具之一。从不同站点获取信息,网络蜘蛛技术是一种很好的技术手段。目前,如何发现更多网页,如何正确提取网页内容,如何下载动态网页,如何提供爬取速度,如何识别网站内容相同的网页,都是网络蜘蛛需要解决的问题进一步提高。