大规模抓取的抓取效率和抓取技巧问题

####
大规模抓取的抓取效率和抓取技巧问题

这个话题,只在大规模的时候有用,抓取几十个网页,其实差别不大,不需要这个问题,

###

第一个问题,

输入url,到返回数据发生了什么

这个你面试可以说是一个经典的面试题,

对这个问题越了解,你越能优化大规模的抓取,考验的是你的综合能力,

###

客户端发起请求,

###

dns解析,要连接dns服务器,

可以使用直接ip访问,绕过dns解析,这就节省了时间,

可以使用cmd命令,dig,查看dns解析域名的耗时,

在大量的抓取的时候,可以节省很多时间,

####

cdn服务器,这个是大型网站,需要用这个来分发,根据物理地址来分发不同的请求到不同的服务器,可以减轻压力,

这个不理解,需要再次了解,

指定了cdn服务器,可以请求更多次,

可以通过不同的省份的ip,去ping这个域名,把所有的cdn服务器的节点ip全都拿到,

如果一个cdn可以抓取100次,就要屏蔽你,那你换了cdn服务器之后,假设32个cdn,可以是100*32次,才会屏蔽你,

很多网站会对图片和视频,来做cdn服务,

抓取视频的时候,就应该使用这个cdn的优化,

###

负载均衡

这个也是大型网站才会有这个,小网站没有,

###
抓取技巧,

一个网站可能有web,app,h5,三套,

不同的端,背后可能是不同的ip,

我们可以极限使用ip,

###

sitemap,这个是seo优化的一部分,

天眼查就有这个,里面所有的url都有,

这种尤其是小说,漫画,新闻这样的网站,会把所有的图书,所有的章节都放在这个地方,

可以在robot里面看到,

###

测试站,灰度站,

这个地方往往没有ip限制,就可以安心抓取

有网站可以把一个域名的所有二级域名都拿到,我们就可以发现一些线索,

 

####

网站接口工具扫描,

可以发现对外没有暴露的api,

这个可以更方便的抓取,

 

####

url规律抓取,

比如id是自增的

所以拿到一个网站之后应该是先分析,先玩一玩一个网站,

###

账号问题,可能不同的端对账号的限制不一样的,

可能就能绕过账号的问题

另外账号也有网站上卖的,比如天眼查的账号

###

抓需要登陆的数据

1,实打实的登陆

2,手动登陆,拿到cookie,

账号要养的,

而且要测试网站的屏蔽阈值,根据这个,可以算出来爬取成本的,

###

验证码的问题,

少去对刚人家的风控,

什么时候会触发验证码?

比如你抓取天眼查,你的header一直不变,比如header里面的refer一直不变,这就不可能,就会触发验证码

账号异地登陆,也会,

脏ip,这个ip被标注了,

对抗验证码,这个不推荐,我们是要拿数据,不是要硬刚别人,你硬刚,别人就会搞你,

但是你要永久抓取方案呢?有人会去重构requests库,可以抓取每天3000-50000万,拿去卖数据,这种就要硬刚了,

做舆情的,就要做永久性抓取方案,

遇到验证码,可以绕过,可以通过换ip,

 

 

###

posted @ 2021-08-31 02:43  技术改变命运Andy  阅读(106)  评论(0编辑  收藏  举报