爬虫与搜索引擎简史
搜索引擎,本质就是抓取,清洗,索引,分类提供搜索,其核心便是爬虫。爬虫并不是一条神奇的虫子,它是一段计算机程序,通过网络抓取内容或相关内容。
很多互联网公司都是从爬虫开始起家,一个网站最开始创建时内容未必那么丰富,通过抓取后,可以让一个内容性网站很快就搭建出来,比如众多的微信公号集萃网站。
人们每天会接到一些骚扰电话,有的就是通过天眼查、企查查等网站抓到的联系信息。
曾几何时,有技术背景的人,或程序员出身的人,通过编写爬虫,分分钟就能克隆出一个山寨的内容或电商网站。
爬虫可以用来抓内容,还可以跟踪竞品的商品定价,自动化某些任务,可以 代替人来完成很多工作。
以前通过Perl来开发爬虫,后来用PHP、Java、Python来写,从前的网站页面比较少,而如今就要用集群来管理爬虫了。
Google得益于从早期就开始进行这方面的探索,后来国内的百度也开始做网页的抓取。
其商业模式也变得简单,通过程序加机器的方式自动化抓取到自己的数据库。随着内容的增多,需要去重,对内容做不同级别的分辨打分,将最精确的内容返回给查询者。
从运营角度,不用自己生产内容,提供给网民搜索框,通过建立用户习惯,达到信息的“入口”即可。
随着App的出现,信息不再像之前那样公开,成为一个个的小岛,特别是微信公众号,因为内容质量较高,它的内容渐变成自己的私域流量池。
百度没有建立自己的内容和服务平台,而人们的习惯开始转向一些内容App或微信之类的超级App,因此导致使用频率下降,原有的广告竞价模式出现了一些问题。
反观今日头条,本质也是一个搜索引擎,它将抓取到的内容,通过多种角度推送给用户。而它的最大问题,也是内容的生产,头条号也是另一种内容补充,但仍需要更多“喂养”用户的食材,也就是更高质量内容。
于是它的正向搜索引擎公开出现了。
头条搜索
2019年上半年,今日头条搜索引擎正式开放使用。其本质是将抓取的内容,不再生成文章,而直接通过搜索框提供给用户查询。
上图为头条搜索界面
以下为头条的爬虫代理(UserAgent):
Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.9857.1381 Mobile Safari/537.36; Bytespider
可以看到,是以一个Android手机的状态获取内容,在最后加入了Bytespider字样。近期,有不少网站主说自己网站被头条爬虫抓宕机,一上午时间竟然达到46万次 。
在国外的Stackoverflow上也有众多歪果仁遇此情况:
人们评价bytespider无视robots.txt这一搜索引擎抓取规则文件。如此看来,字节搜索抓取确实勤劳和粗暴了一些。
toutiao.com的robots.txt
上图是toutiao.com的robots.txt,不知道其它搜索引擎无视其允许的规则会如何 。
抓取与反抓取
作为抓站高手的字节跳动,也经常被他人抓取,比如之前头条App是明文的json,现如今加入了JS加密,但总是会被有心的人解开。
当自己被高频的HTTP请求时,字节跳动的服务器会触发警报,跟踪来源服务器,并再扫描确定内容,避免自己权益受损害。
还有的开发者说,自己写爬虫,UserAgent写成Bytespider,这样就可以甩锅给头条。这样做也是不对滴。
从信息角度上,内容提供者希望有更多的阅读爆光,搜索引擎希望有更多的内容源,双方能够互利双赢,给用户提供价值最好。
今天就对字节的爬虫说这么多,欢迎大家补充评论 。
作者:许新
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/258122.html