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

也谈字节跳动的爬虫

程序员文章站 2024-03-20 14:54:58
...

也谈字节跳动的爬虫

作者:许新 

爬虫与搜索引擎简史

搜索引擎,本质就是抓取,清洗,索引,分类提供搜索,其核心便是爬虫。爬虫并不是一条神奇的虫子,它是一段计算机程序,通过网络抓取内容或相关内容。

很多互联网公司都是从爬虫开始起家,一个网站最开始创建时内容未必那么丰富,通过抓取后,可以让一个内容性网站很快就搭建出来,比如众多的微信公号集萃网站。

人们每天会接到一些骚扰电话,有的就是通过天眼查、企查查等网站抓到的联系信息。

曾几何时,有技术背景的人,或程序员出身的人,通过编写爬虫,分分钟就能克隆出一个山寨的内容或电商网站。

爬虫可以用来抓内容,还可以跟踪竞品的商品定价,自动化某些任务,可以 代替人来完成很多工作。

以前通过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万次 。

在国外的*上也有众多歪国仁遇此情况:

也谈字节跳动的爬虫

人们评价bytespider无视robots.txt这一搜索引擎抓取规则文件。如此看来,字节搜索抓取确实勤劳和粗暴了一些。

也谈字节跳动的爬虫

toutiao.com的robots.txt

上图是toutiao.com的robots.txt,不知道其它搜索引擎无视其允许的规则会如何 。

抓取与反抓取

作为抓站高手的字节跳动,也经常被他人抓取,比如头条App是明文的json,现如今加入了JS加密,但总是会被有心的人解开。

也谈字节跳动的爬虫

当自己被高频的HTTP请求时,字节跳动的服务器会触发警报,跟踪来源服务器,并再扫描确定内容,避免自己权益受损害。

还有的开发者说,自己写爬虫,UserAgent写成Bytespider,这样就可以甩锅给头条。这样做也是不对滴。

从信息角度上,内容提供者希望有更多的阅读爆光,搜索引擎希望有更多的内容源,双方能够互利双赢,给用户提供价值最好。

今天就对字节的爬虫说这么多,欢迎大家补充评论 。

推荐阅读:

也谈字节跳动的爬虫