本文通过四点来说明:
1. 搜索引擎不可能在得到搜索指令后,现场从互联网上抓取数据返回给客户。
他们需要提前获取数据,并对数据做格式化处理
1.1 他获取网络资源的方式大概有2类:
根据一些种子网址,遍历递归每个url,逐渐扩充网址库。
接受每个站长的推送网址,当每个站点的信息增加后,站长可以把这个提交给各个搜索引擎。当然搜索引擎也不是全面接收的,他们有自己的录入标准。
1.2 搜索引擎有了网址库,接下来就要用爬虫爬取了。由于数量巨大,一般要分地区网口,分机器,分时爬取。经过漫长的爬取,然后保存网页到他们的服务器,如百度快照。
由于有的网站需要登录,有的网站故意设置了反爬虫机制,所以搜索引擎不能保证每个存在的网址都能爬取下来(不管是robots协议还是开发对应的爬取脚本成本太高的原因)。
1.3 接下来他们会提取关键词,然后分门别类的保存。由于分类是主观的(不管人工还是机器),通常会有误判。
当用户像搜索引擎要求页面时,他们返回他们认为对应类别的快照结果。如果用户变换提问方式,就有可能返回其他类别的结果。因此这个环节也可能会丢失我们要找的东西。
1.4 非文字版的信息,如音频视频本身的内容(文不对题的),由于提取问题过程存在误差,或提取时间过长,也会使这部分的信息不准确。所以大部分搜索引擎干脆指按标题分类。
这样同样会遗漏信息。
2. 互联网的信息总量非常多,搜索引擎不可能完全收录。
3. 即使有公司能收录全部信息,互联网每日新增信息也非常巨大来不及收录。
4.