猫史档案馆


【极客小课堂】- 你真的了解搜索引擎吗?

用户:少年编程狂少年编程狂查看:0 回复:2 评论:0 创建时间:2020-02-16T18:08:16


 

在开始之前,某度的行为大家应该很清楚,越来越搜不到想要的东西
一方面是信息的垄断,许多网站通过特殊方法让搜索引擎无法抓取网站的信息,导致信息孤岛。
二方面是百度自身的问题,把合作方的内容进行顶置,来获取更多的利益
所以我推荐一款不错的搜索引擎:https://magi.com/

正式开始了w
一.搜索引擎是什么?
搜索引擎,可以说是在网络上的资源的快捷工具。

二.搜素引擎的原理?
搜索引擎主要是帮你在互联网上检索你想要的内容,根据你输入的关键字,在
全球范围内寻找在<Meta>标签(网页的描述)进行匹配,从而找出相关的网页,
然后在对这些网页进行排名,按名次依次展现在你的面前

但有个问题,在全球范围内寻找,恐怕就算是在厉害的服务器也不可能在几秒之内获取
全球的资源。所以就有了——快照

其实应该先讲爬虫,不过这样嵌套也不错

爬虫,在https://magi.com/上的最佳解释是
描述 自动获取网页内容的程序
属性 仅显示部分热门信息 ∙ 更多请点击或直接搜索问题
基本操作 模拟人的行为去各个网站溜达 框架 Scrapy
语言 Python

简单来说就是一个机器人,比方说百度的搜索引擎的数据就是通过BaiduRobot抓取的
通过Python语言,来获取网站的地址和描述,存放在数据库里

那为什么要叫爬虫呢?
爬虫可不是怼着网址一个一个的试,而是最开始有个链接,到了链接网站后,
获取这个网站里的所有链接,然后在依次爬这些链接,以此类推
循环往复,就想一个蜘蛛在互联网上爬

而Web的名字也是这样——相互链接,互相依靠

可一个强大的搜索引擎可不止这些,你除了做出这个人人都会做的爬虫
还有拥有大量的服务器来维持爬完整个互联网之外,还要依靠算法

例如你搜索编程,搜索引擎的网页立马把你的关键字‘编程’通过表单
提交给服务器,服务器在数据库里找到相关的网页,可从数据库里得来的
相关的网页实在太多了,必须的筛选出最好的网页,才能展现到用户眼前

如何筛选就要看算法了

当时天真的我想如果我要筛选的话要用怎样的算法

我就想通过积分制,看网页的相应速度,内容多不多等等,进行评分
陡然看了谷歌的算法,突然觉得这种算法太不可靠,滑稽了

谷歌的算法以我的理解是这样的——投票制

在所以相关的网页中,看看那些网页的内容与其他网页相关,包含最多其他网页内容最多的网页,
八成是含量最多,用户最想要的!

(以上说法完全是我个人理解,理解错了就请理解为我瞎编)

然而还有一些网页通过<meta>标签来故意添加关键字来提高搜索引擎的排位
听说谷歌有破解这些无关网页的算法,不过我可理解不了


不过有一点值得让我感叹互联网约定俗成的规则:robots.txt

比方说你访问一下我们最爱的小B站的这个地址:
https://www.bilibili.com/robots.txt
你应该会看到这些内容:
User-agent: *
Disallow: /include/
Disallow: /mylist/
Disallow: /member/
Disallow: /images/
Disallow: /ass/
Disallow: /getapi
Disallow: /search
Disallow: /account
Disallow: /badlist.html
Disallow: /m/

这一串文字好像是通过特殊编码转过来的
他的意义就是规则

所以的搜索引擎都会在访问一个网站时先访问域名下的/robots.txt
然后搜索引擎就会知道这个网站允不允许我爬

至今好像还没人触犯这个规则

一些规模很小的网站经过爬虫可能会不稳定,所以祈求搜索引擎不要对子界面进行爬虫

哈,这不就是互联网的规则吗?真是可爱

本期就到这里了,拜拜

-end-


回复

上一页1 页 / 共 1下一页
少年编程狂少年编程狂

顶一哈

点赞0


评论


NDFSNDFS

顶一顶顺便抢椅子

点赞0


评论