反爬虫策略

本文总结了几种常见的网站反爬虫策略,包括user_agent判断、对同一IP进行限流、针对特定云服务IP禁止访问、使用动态URL key、设置陷阱链接、采用Ajax异步加载及前端数据混淆等手段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然接到一个任务,是要对公司的网站做反爬虫策略,于是到网上到处去找相关资料,总结出主要几种反爬虫策略。

1、user_agent判断:只允许特定的爬虫引擎和浏览器user_agent访问网站,否则直接报错。可以在nginx中配置,如http://blog.youkuaiyun.com/slovyz/article/details/73243926。或者在程序中判断。

2、对同一IP进行限流,如果是机器人爬虫,访问速度一般都会比人为的访问速度要快的多,所以通过限制同一IP的访问速度来甄别掉一些爬虫程序,同时,也可以在一定程度上防止DDos。如果是nginx,可以参考这篇文章https://www.zzxworld.com/blogs/limit-rate-and-connection-in-nginx.html

3、针对ip是阿里云腾讯云等的地址进行禁止

4、网页地址生成动态key,url的key码通过服务器端判断,只要判断失败,则认为是爬虫,且key由前端js生成,且js通过了混淆技术,加大破解难度。可以参考这篇文章https://cloud.tencent.com/developer/article/1004919

5、设置隐藏的假链接地址,客户是无法看见的,只有爬虫才会爬取这个地址,在服务器端对爬取这个地址的客户端ip等信息做记录,再秋后算账,禁止ip

6、Ajax异步加载数据的方式,但是这个对baidu等爬虫也会有一定的影响

7、前端数据混淆,这种方式无疑加大了爬虫识别数据的难度,就算爬虫爬取到了数据,但是返回的数据其实是错误的,客户浏览时看到的真实数据都是通过css、图片、javascript等前端手段显示的。参考这篇文章:http://imweb.io/topic/595b7161d6ca6b4f0ac71f05

Selenium是一款非常强大的Web自动化测试工具,它可以模拟真实用户对网站访问行为,因此被广泛应用于爬虫领域。当然,由于爬虫会对网站造成一定程度的压力,许多网站都会采取反爬虫策略,Selenium也不例外。以下是Selenium常见的反反爬虫策略: 1. 检测浏览器类型:许多网站检测你使用的是哪种浏览器,如果发现你使用的是Selenium中的webdriver,则会将你识别为爬虫拒绝访问。 2. 检测浏览器驱动版本:与浏览器类型类似,有些网站检测你使用的浏览器驱动版本是否符合要求,如果不符合,则会拒绝访问。 3. 检测JavaScript执行:大部分网站都会依赖JavaScript来渲染页面和执行某些操作,因此如果检测到你的Selenium没有启用JavaScript,则会拒绝访问。 4. 检测窗口尺寸:有些网站检测你的窗口尺寸是否符合要求,如果不符合,则会拒绝访问。 5. 检测访问频率:过于频繁的访问一个页面会被认为是爬虫行为,因此有些网站会设置访问频率限制。 为了规避这些反反爬虫策略,我们可以采取以下方法: 1. 设置随机的User-Agent和代理IP,以避免被检测到Selenium中的webdriver。 2. 定期更新浏览器驱动版本,且设置随机的驱动路径。 3. 启用JavaScript执行,且模拟真实用户的鼠标点击、滚动等操作。 4. 设置随机的窗口尺寸,且在操作之前先最小化窗口。 5. 控制访问频率,且设置随机的访问间隔间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值