许多网站为了保护自己的数据,会用各种策略来阻止或限制爬虫的行为。下面是一些常见的反爬虫策略:

1. User-Agent检查

User-Agent是HTTP请求头的一部分,它告诉服务器发出请求的客户端的类型和版本。许多爬虫会使用默认的或者假的User-Agent,而网站可以通过检查User-Agent来判断请求是否来自爬虫。

例如,一个网站可能会拒绝所有User-Agentpython-requests/2.18.4的请求,因为这是Python的requests库的默认User-Agent

2. IP地址检查

如果一个IP地址在短时间内发送大量的请求,那么这个IP地址很可能是爬虫。网站可以通过检查请求的频率和数量来判断是否来自爬虫,并可能会封禁那些发送大量请求的IP地址。

3. 验证码

验证码是一种常见的防爬虫策略,它要求用户输入一个从图像、音频或者文本中获取的随机生成的代码。由于验证码需要人类的感知和理解能力,因此爬虫很难自动输入正确的验证码。

4. 动态页面

许多网站会使用JavaScript或者Ajax来动态生成页面内容。爬虫如果不能正确处理这些动态生成的内容,那么它就不能正确爬取这些网站。

5. Robots协议

Robots协议(也称为robots.txt文件)是网站告诉爬虫哪些页面可以爬取,哪些页面不能爬取的方式。虽然遵守Robots协议是自愿的,但是许多爬虫会尊重这个协议,以避免被网站封禁。

以上就是一些常见的反爬虫策略,每一种策略都有其相应的反反爬虫技术。例如,对于User-Agent检查,爬虫可以使用真实的浏览器User-Agent;对于IP地址检查,爬虫可以使用代理服务器;对于验证码,爬虫可以使用OCR或者人工输入;对于动态页面,爬虫可以使用模拟浏览器的方式来爬取;对于Robots协议,爬虫可以选择忽略它,但是这可能会导致被网站封禁。
推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

file


移动安全星球
1 声望2 粉丝