开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段:防爬规则介绍+爬虫特点】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/669/detail/11592
防爬规则介绍+爬虫特点
内容介绍
一.防爬目标
二.数据源
三.防爬规则
一.防爬目标
1. 目标
反爬虫的目的是识别爬虫了解反爬虫识别的八项指标
利用八项指标判断是否是爬虫
二.数据源
1.行程相关
出发地、目的地、出发时间、预公时间
2.出行人相关
身份信息(乘机人名、乘机人类型、乘机人证件类型、乘机人证件号)、出行人数(得不到此信息,如果得到即用户信息泄露)
3.预定相关
购票人信息(登录 1D、登录类型、操作 IP、浏览器 UA、手机设备信息)联系人信息(联系人名、联系人手机号、联系人邮箱)
其他信息( 销售单位)
4.机票防爬关键字段
bookuser 购票人 ID,即登求 1D, 例如明珠会员卡号、非会员手机号等
bookip 购票人 IP
psgname 乘机人名(用户敏感信息)
psgtype 乘机人类型,例如成人、儿童、婴儿
利用2,3,4信息做防占座功能
三. 防爬规则
1.爬虫规则
1.按 IP 段聚合- 5分钟内的 IP 段( IP 前两位)访问量
(反爬虫项目中采集的数据。存在用户的 IP, 次 ip 为192.168.36.56等)
用处:通过 IP 段可以查找到来源
2. 按 IP 地址聚合-某个 IP, 5分钟内总访问量
(具体 ip 的指标)5分钟访问500次以上爬虫可能性较大。
3. 按 IP 地址聚合-某个 IP, 5分钟内的关键页面访问总量
关键页面:专门配置的表
URL 与正则匹配成功是关键页面
如下图
4. 按 IP 地址聚合-某个 IP, 5分钟内的 UA 种类数统计
(浏览器数量) ip 确定,UA 反复变换,爬虫可能性较大
5. 按 |P 地址聚合-某个 IP, 5分钟内查询不同行程的次数
(不断访问形成次数爬虫可能性较大)
6. 按 IP 地址聚合一某个 IP,5分钟内关键页面的访问的 Cookie
(去重)访问不同形成的次数
7. 按 IP 地址聚合-某个 IP,5分钟内的关键页面最短访问间隔
每两个关键页面访问间隔(若时间较短,爬虫可能性较大)
8. 按 IP 地址聚合-某个 IP,5分钟内小于最短访问间隔(自设)的关键页面查询次数
例如20个查询关键页面中有19个访问间隔,需查看访问间隔的最小时间<2秒,统计次数
通过八个指标综合来判定是否是爬虫。
2.作弊者数量多的规律
1.热门航线(找黄牛抢票)
2.春节、暑假
3.会员日(低价专卖票)
3.作弊者特点:
1.长期、重复爬取数据
2.使用多个代理(隔几分钟自动切换 UA、IP) 爬取 数据
3.每个 IP 短时间内爆发较高流量
4.每个 IP 白天和夜晚的请求次数均衡(程序)
5.热门航线的查询频率更快
6.浏览路径不完整(-次命中会话为其典型代表)
(来源固定/跳转)
目的:尽量避免被发现
4. 总结
防爬规则:
按 IP 段聚合- 5分钟内的 IP 段 (IP 前两位)访问量
按 IP 地址聚合-某个 IP, 5分钟内总访问量
按 IP 地址聚合-某个 IP,5分钟内的关键页面访问总量
按 IP 地址聚合-某个 IP,5分钟内的 UA 种类数统计
按 |P 地址聚合-某个 IP,5分钟内查询不同行程的次数
按 IP 地址聚合一某个 IP,5分钟内关键页面的访问的 Cookie 数
按 IP 地址聚合-某个 IP,5分钟内的关键页面最短访问间隔
按 IP 地址聚合-某个 IP,5分钟内小于最短访问间隔(自设)的关键页面查询次数
规律:
热门航线,春节、暑假,会员日
特点:一次命中,短期流量高,UA 和 ip 频繁切换,访问频次比较均衡(白天黑天)。