zoukankan      html  css  js  c++  java
  • 大规模抓取的抓取效率和抓取技巧问题

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

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

    ###

    第一个问题,

    输入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,

    ###

  • 相关阅读:
    17.1.2.1 Advantages and Disadvantages of Statement-Based and Row-Based Replication
    17.1.2 Replication Formats
    Setting the Master Configuration on the Slave
    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment
    17.1.1.8 Setting Up Replication with Existing Data
    17.1.1.7 Setting Up Replication with New Master and Slaves
    17.1.1.6 Creating a Data Snapshot Using Raw Data Files
    列出display的值,并说明它们的作用
    CSS设置DIV居中
    CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?
  • 原文地址:https://www.cnblogs.com/andy0816/p/15208608.html
Copyright © 2011-2022 走看看