一位python超级大牛2019年对爬虫的总结!精辟!

一位python超级大牛2019年对爬虫的总结!精辟!_第1张图片

 

服务器-定时简单爬虫

在最开始的时候,我们做的就是这个。这应该是最简单的爬虫了。搜索引擎搜出来的大概就是这一类了。

这一类的爬虫特点是我只需要爬取一个网站的某一部分数据,发起http请求做html解析,然后存数据库,就完了。比如一些其他网站提供的一些公共数据,或者不要求实时性的数据。如汽车之家的汽车数据,如英雄联盟的英雄数据,如政府网站的某些展示数据。我用过scrapy来抓取dota2的一些数据,后来发现scrapy不一定完全在自己掌控中,我自己写了一个爬虫框架,叫Tspider。我现在做一些简单的爬虫都会用它。基于php的协程与curl_multi_*函数集实现的。单进程可到2000有效处理/min。

这一类的爬虫处理流程大概类似如下

一位python超级大牛2019年对爬虫的总结!精辟!_第2张图片

 

简单爬虫流程图

网上宣传的诸如《xxx抓取淘宝MM照片》、《我从知乎偷取了多少数据》等等爬虫,大概如此。《21天精通xx语言》的既视感。

这一类的爬虫的优点大概就是简单吧。

客户端解析(lua、javascript)

我们公司是做移动端产品的,假如你也恰好是有(android/ios)客户端支持的。并且对数据的实时性要求较高,或者爬数据的时候ip封的太厉害了。可以试试我下面说的方式。我给他取名叫客户端解析。

在这一类爬虫中,需要客户端嵌入脚本执行引擎。把http的请求与数据解析放到客户端去执行。最后把数据呈现出来或者上报给服务器。准确度、实时性较高。

一位python超级大牛2019年对爬虫的总结!精辟!_第3张图片

客户端解析爬虫

这种方式至少有两个优点:ip离散,实时性较高。

服务器-离线爬虫系统

对于绝大部分服务,数据的爬取需求,还是需要在服务器完成的。对于这一类的爬虫。架构的设计,需要有很好的扩展性。

一位python超级大牛2019年对爬虫的总结!精辟!_第4张图片

你可能感兴趣的:(Python)