反爬

我浏览了某个网站(暂不透露其名),它是需要用内网或者外网控制系统才能登录,浏览时是动态加载图片,我很想整个都爬下来,但自己爬虫水平实在弱,查了半天也没找到什么好方法。塞翁失马焉知非福,通过这个小失败我反而产生了 网页形成强大的反爬能力 的一点思考。

发送请求时可以copy浏览器的user-agent头,这一步ok的,不好反爬。
刷新页面后通过network提取有规律的url信息,这一步就比较有意思了。
刚才说的那个网页就在这一步下了功夫。
刷新页面环节,并不是所有的图片都同时加载出来,而是需要爬虫模拟浏览器向下滚动浏览,才会逐渐加载。浏览速度不能太快,否则没有时间全部加载出来。但是太慢也不行,下面会说。
关于url信息,对于这种网页,没有文字,资源全都是图片,我们爬的时候是想获取图片的url,然后下载到本地,它们在网站服务器里应该是按顺序排好的,下到本地文件名也是连续的。所有图片无缓存,每张图片都有一个key,是很长的随机生成的类似hash码的字符串,存在他们自己的服务器里,只能维持一小段时间,过了之后码就会失效。关于这个时间的选取,如果太长,会不安全,如果太短,会总是请求响应、重复加载,效率不高,应该会找一个平衡点。
这样的码被接在url最后,在查看request url信息或者query parameter信息时都可以看到,但是完全无从构造,而且因为持续时间短,应该只能分页爬取,每爬完几页之后下载到本地,再次刷新网页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值