本人最近在爬大众点评的店铺首页,Url类似于http://m.dianping.com/shop/4094416
。因为大众点评有针对IP的反爬,所以我就搞了一条动态IP隧道,能够秒切IP,也就是每次请求换一个IP,这个我用http://httpbin.org/get
网站也验证过了,的确是一次请求一个IP。
但是我用上述方法,爬取大众点评店铺首页,并且控制请求间隔时间为1s,最终还是被ban掉了,如下图:
于是我想看一下被ban的请求的响应的头信息是什么,结果是:
{'Date': 'Thu, 07 Jun 2018 17:45:05 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '0', 'M-Appkey': 'com.sankuai.rc.mtsi.optimus', 'M-SpanName': 'OptimusController.optimusAuthorize', 'M-Host': '10.73.137.220', 'M-TraceId': '3536539434466270722', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache', 'Vary': 'User-Agent, Accept-Encoding', 'Age': '0', 'Accept-Ranges': 'bytes', 'Connection': 'keep-alive'}
请问大众点评是如果做到ban掉动态秒切的代理IP的?
另外,该网站请求并不需要cookie或奇奇怪怪的头信息,我用拦截了cookie的chrome浏览器打开http://m.dianping.com/shop/4094416
,请求头信息是:
可以看到这个头信息非常普通,所以到底是怎么做到的???
1.可能有关于浏览器指纹的js算法
2.chrome驱动特征值
现在的技术发展太快了,切换IP已经不是杀手锏了,各种特征值和指纹不需要匹配IP就可以ban你