正文:
今日头条,最近又上头条了。
2019 上半年,今日头条正式公布开始做搜索引擎。本来单纯的以为头条和微信一样,做的是垂直搜索或者站内搜,没想到做的是抓取全网内容的全新搜索引擎。
这个决定其实也是在情理之中。毕竟头条系产品现在的流量已经到了一个很恐怖的量级,扩展做搜索具有天然的优势。
但我们今天不聊“字节跳动搜索能否干翻百度”,只想说一下轰轰烈烈的「搜索大战」之下,头条的一个操作让很多小网站「痛苦不堪」。
我们的社区(sifou.com)用户很多都有自己的个人网站和博客,虽然流量有高有低,毕竟是大家自己的后花园。
但最近,很多社区用户纷纷跟我反馈,一种名为 Bytespider 的爬虫爬取他们的网站信息的频率太高,直接把网站搞瘫痪了。大家顺着爬虫的 IP 地址查了一下,发现 Bytespider 应该就是今日头条的搜索爬虫。
更有甚者,短短一上午时间就收到了 46 万次请求,消耗掉服务器 7 .42GB 流量。这对平均日活可能都没有过千的小网站来说,已经算得上一次小型的 DDoS 攻击了...
爬虫就是自动抓取网络内容的一种程序,它会定时定量的把互联网上的内容爬下来,汇总存储到自己的服务器上。放到搜索引擎上来说,我们每次搜索的时候,搜索引擎就会在这些爬取到的内容里进行匹配相似度高的内容反馈给你。
所以做搜索引擎的公司离不开爬虫。大公司也都会给自己的爬虫起一个名字:谷歌的爬虫叫 Googlebot,百度的爬虫是 Baiduspider,搜狗的爬虫 Sogouspider,而今日头条就是上文中的 Bytespider。
扯远了,我们继续讨论开头的这个事情。为什么之前别的搜索引擎爬取内容就没事儿,头条一爬小网站就崩溃了呢?
其实从今年 6 月开始就有网站主抱怨了这个 Bytespider。而且从今年 6 月到 10 月,越来越多的人开始在网上爆料自己也遇到了类似的情况。在国外的编程交流网站上大家也有讨论啥是「Bytespider」,并且指出它非常不地道的无视了自己网站的 robots.txt 协议:
什么是 robots.txt 协议?
即使不是运维工程师,关注互联网的人应该也听说过 robots 协议。当年的 3Q 大战就涉及到了一场关于屏蔽与反屏蔽的争论,也把原本非常小众的 robots 协议变成了媒体热词。
robots 协议的出现要追溯到 1994 年。
在互联网的蛮荒发展时代,搜索引擎可以通过爬虫直接进入网站的管理后台,把所有网页信息全部收录。除了涉及隐私外,爬虫程序的反复收录在 20 年前对网站带宽也是不小的负载。
面对这个情况,荷兰工程师 Martin Koster 提出通过设立名为 robots 规范的网站访问限制政策,来解决网络爬虫带来的潜在风险与威胁,这一提议收到了广泛的认可与应用。
robots 协议自成立以来在全球受到严格遵守,也获得了很多的成效。我们还是通过一个 3Q 大战为例子,来看一下 robot.txt 协议的价值。
两大搜索巨头的战役,可谓牵一发而动全身,甚至逼迫了全网站队。但最终的诉讼结果,也让行业有了一个法律层面的参考。
在百度诉 360 一案中,法院认定 robots 协议虽然不是法律意义上的合同,但属于“搜索引擎行业内公认的、应当被遵守的商业道德”,如果违反 robots 协议、爬取网站明确不允许爬取的内容,会构成违反《反不正当竞争法》第二条的原则性规定:“经营者在市场交易中,应当遵循自愿、平等、公平、诚实信用的原则,遵守公认的商业道德。”
但另一方面,robots 协议本身也不能不合理的限制特定爬虫。就像 360 提出百度的 robots 协议允许谷歌、微软必应、雅虎、搜狗等搜索引擎抓取,但却不允许 360 抓取内容,同样属于不正当竞争与限制。
法院也认定,在 360 向百度提出修改 robots 协议的主张之后,百度未能在合理期限内说明拒绝 360 爬取的合理理由,所以从这个时点之后,360 的爬取行为不再构成不正当竞争。
爬虫的法律风险
之前,有一家上海的企业**了字节跳动的防抓取措施,使用「tt_spider」文件进行视频数据的抓取,经法院判定,造成了字节跳动的技术服务费损失 2 万元。最终判处该公司罚金 20 万元,主管人员罚金 3 - 5 万元不等、有期徒刑 9 个月到 1 年不等。