欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

就因为微信误删了几行字 公众号文章能被别家搜到了?

程序员文章站 2022-03-06 19:30:46
前天世超看到一个帖子说,在 google 和 bing能搜到微信公众号的文章了。呸,怎么可能。世超一边不信,一边赶紧拿 google 测试了一下,发现差评的文章确实有被收录进去。嚯,要这样下去,在百度...

前天世超看到一个帖子说, 在 google 和 bing 能搜到微信公众号的文章了。

呸,怎么可能。

世超一边不信,一边赶紧拿 google 测试了一下,发现差评的文章确实有被收录进去。

嚯,要这样下去,在百度里搜微信文章是不是也快了?

想必除了世超,很多网友应该都挺期待这件事的。毕竟有时候搜资料,在百度和微信之间切来切去还挺麻烦的。

谁想到世超还没乐呵够,腾讯马上就辟谣了:

是公众号的 robots 协议出现漏洞,让搜索平台的爬虫爬到了,现在已经修复了。

嗐,搞半天白高兴一场。

不过,今天世超还是想就这个 robots 协议和大家探讨一下。

因为说起来你可能不信,我们在百度里前搜不到公众号文章,后搜不到淘宝商品,都是因为 robots 协议。

robots 协议其实很简单,就是一个放在网站根目录的文本,它写明了搜索引擎可以/不可以收录哪些信息。

微信公众号的 robots 协议 ▼

就因为微信误删了几行字 公众号文章能被别家搜到了?

有人可能会说,原来就是这几行字害得互联网不能互联了?不不,这锅 robots 协议可不背。

robots 协议原本只是帮助搜索引擎更高效地收录信息,只不过现在人们用着用着逐渐变了味。

这事还得从上世纪 90 年代初期说起。

在搜索引擎诞生之前,人们要查资料,只能一个个进入相关网页,效率非常低下。

后来有了搜索引擎,搜索引擎通过释放网络爬虫( 也可以叫蜘蛛 ),抓取各个网页里的信息,并把这些信息收录起来供大家查询,这才极大提高了人们的效率。

但是,那会爬虫就跟小黑胖一样,抓取信息来完全不挑食。

不管是没用的垃圾信息,还是网站重要的内部数据,不分青红皂白地一顿乱抓,全都要。

就因为微信误删了几行字 公众号文章能被别家搜到了?

这种粗暴的抓法不仅降低了用户搜到有用信息的效率,还会让网页的重要数据泄露,服务器过载无法运行。

所以在 1994 年初,荷兰有位网络工程师提出了 robots 协议。

就好比宾馆房间门上挂着的“ 请勿打扰 ”,“ 欢迎打扫 ”牌子,告诉阿姨哪些房间是可以打扫的。

每个网站的根目录下也摆着一份 robots 协议,协议里告诉爬虫:哪些东西你可以抓,哪些东西你不能抓。

虽说这个 robots 协议目前还没被任何国际组织采纳,没有制约性,只能算个君子协议:你不听,就不是个正人君子。

但它毕竟为了帮助搜索爬虫更有效地抓取对用户有用的信息,更好促进信息共享。所以在国外不管是早期的 altavista 还是后来的 google 、必应,大家也都遵守着这一套协议。同样 2012 年 11 月中国互联网协会发布了《 互联网搜索引擎服务自律公约 》,也规定了:搜索引擎要遵守网站的 robots 协议,但前提是这个 robots 协议是合理的。

这个公约对 12 家发起单位生效,成员包括百度、腾讯、奇虎 360、搜狗、网易、新浪等。图源百度百科 ▼

就因为微信误删了几行字 公众号文章能被别家搜到了?

如今绝大多数搜索引擎的爬虫在访问网站时,第一件事就先读下网站的 robots 协议。在了解哪些信息是可以抓取之后,才会行动。比如淘宝的 robots 协议,虽然只有简单的 4 行字,但写明了:百度爬虫( baiduspider )不允许( disallow )抓取任何内容( / )。百度爬虫过来看到协议后,就算心里难受,也只能啥也不碰马上离开。

就因为微信误删了几行字 公众号文章能被别家搜到了?

那可能有人说,这既然是君子协议,会不会有人不当“ 君子 ”呢?当然有,robots 协议只相当于一个告知书,爬虫( 背后的人 )可以不听你的。和大家说两个违背 robots 协议的例子。第一个例子是 be 和 ebay 的纠纷。

be 是一个提供拍卖信息的聚合网站。它利用爬虫抓取 ebay 等拍卖网站的商品信息,然后放在自己网站上赚取流量。尽管 ebay 早已写好了 robots 协议,告诉 be 爬虫不准抓取任何内容。但 be 认为这类拍卖信息都是大众上传的,ebay 设置 robots 协议不让自己抓取,不合理啊。

后来法院经过多方调查取证,认为 ebay 网站上内容属于私有财产,它用 robots 协议保护私有财产是合理的。最后认定 be 侵权。想必大家能看出来,法院判定结果并不是单纯看有没有违背robots 协议,最主要还得看这个 robots 协议合不合理。

就因为微信误删了几行字 公众号文章能被别家搜到了?

同样,还有个例子也证明了这点。大部分人都知道 3q 大战,但可能没听过 360 和百度的“ 3b 大战 ”。

2012 年 8 月 360 搜索刚上线,它抓取了百度旗下的内容( 百度知道,贴吧 )并以快照的形式提供给用户。但是,百度的 robots 协议写明了只有部分搜索引擎可以抓取,当中没包括 360 搜索。也就是说 360 违背了百度 robots 协议。

图源百度百科 ▼

后来百度想了一个法子,只要在 360 搜索中搜到百度相关网站,点击后就会跳转到百度搜索引擎网站。再到后来他们闹上了法庭。

这件事去年才算正式结案,判决书大概有一万多字吧,可把世超看了好一会。不管是 360 把百度快照提供给用户,还是百度的跳转措施,这些操作法院都进行了相应的判决,但是跟我们文章没太大关系。世超只在这里说下:对于 360 搜索违背百度 robots 协议的抓取行为,是怎么判定的。首先 360 在 2012 年 8 月违背 robots 协议是有不合理在先,但是同年 11 月发布了《 自律条约 》。

条约可是规定了 robots 协议限制搜索引擎得有正当理由:比如为了保护敏感信息、公众利益或者维持网站正常运行。但百度限制 360 搜索抓取的内容,既不是重要敏感信息,被抓取了也不会让百度不能运行了或者损害了公共利益。。

这就可以判定百度没有正当理由拒绝 360 抓取, 360 的抓取行为也并非不正当竞争行为。

所以啊,不是写了 robots 协议就一定在理,你这个协议首先得合理才行。但关键是,这个合理的界限有时候不是很好定。。比如现在不少互联网公司用 robots 协议阻止搜索引擎收录,限制了信息分享。你说他们是在合理设置 robots 也没错,毕竟是为了保护自己的数据权益。但这是不是和互联网的初衷背道而驰了呢。。

就拿世超自己经历来讲。之前写个反诈骗的文章,百度查了大半天资料不够,差点放弃。后来在微信里搜,才在一家公众号文章上找到相关资料。最后要找视频作为动图素材,我又跑去短视频平台。。要知道曾几何时,我们明明可以很轻易的查询到信息,现在因为各大网站的 robots 协议变成了如此困难。。

更讽刺的是, robots 协议原本做出来只是为了提高爬虫效率,更好地促进信息流动的。。这是不是有点变味了。。

- the end -