姓名:杨谊 学号:16130120200
【嵌牛导读】
A:快到平安夜、圣诞节、跨年夜了,准备去哪?
B:想去香港,前两天看到有低价票,泰国也不错,最近也有低价票,国内就算了,没看到什么打折活动。
A:抢得到吗?我没有一次抢到低价票的。
B:试试呗,我家网还行。
结果 B 小姐深夜敷着面膜准备发大招抢的特价机票被秒光,她气得砸键盘,“对面和我抢票的什么鬼?”
她有所不知的是,同她抢票的不是鬼,是爬虫。
【嵌牛鼻子】爬虫,反爬虫
【嵌牛提问】爬虫如何抢座?爬虫肆虐的原因?如何反爬虫?
【嵌牛正文】
爬虫如何抢座?
“卖票卖票!北京往返大阪的往返机票只需2599元!”
类似出现在朋友圈中的卖票信息很是常见,大多用户在查询到航企 APP 中票价已翻数倍时情不自禁剁了手。殊不知航企每每发出的特价票几乎都被这些机票代理人利用“爬虫”技术抢占一空,所以抢不到低价票不要再怪网络问题了。
具体来说,这一技术利用了航企订票、购票流程中的帐期,即订票后可能有10-30分钟或者更多的支付时间。自动化的爬虫技术正是抓住了这一时间差,利用虚拟身份进行订票。此时虽未付钱,但此票已归属该虚拟身份,在账期内票务方将这些低价票挂在自有网站、APP、微店、淘宝店或朋友圈等平台高价转卖,谋取差价。若在账期内没有卖出此票,爬虫也可在限定时间内取消订单或在订单失效后马上续订,保证此票一直在手。
而普通用户在航企官网查看时却显示低价票已售尽。
爬虫肆虐,是何原因?
爬虫程序(crawler/spider),又称,蜘蛛程序。虽然以多足动物命名但其起源却是搜索引擎,即按照一定的规则,自动地抓取互联网信息的程序或者脚本。
而随之漫长的进化,这一物种也被用于各大互联网金融、电商平台,以及社交领域等。在上述抢票环节,爬虫不仅抓取航企官网的机票价格,在发现特价机票后更充当“伪装者”,仿冒真人用户抢订机票。
事实上,航企投放的低价机票很少被普通用户买到,据业内人士估计,80% 以上低价机票被票务公司的爬虫抢走。
爬虫肆虐到底是何原因?
“利益驱动,这是一切事情最原始的出发点。”。浙江邦盛科技技术总监李白如此说。
如果说利益是起点,那提直降代、行业竞争、网站获客则为爬虫肆虐填了一把火。
提直降代,航空公司被迫加入爬虫之战
2015 年上半年,国资委要求几家国有航空公司未来三年内直销比例要提升至50%,同时代理费要在2014年的基础上下降 50%。
一场“提直降代”大战被推向制高点,有业内人士介绍称,直销比例每提高 10%,航空公司就可以从代理人手中节约近10亿元的分销费用。相反代理渠道出票占比下降,低价票、退改签、捆绑保险及其他产品等“传统盈利空间”被打压。利润下降催生了票务公司转型,通过爬虫赚取差价。
行业竞争促生爬虫肆虐
任何一个行业都存在竞争,各大航空公司除了不断优化飞机设施以及服务态度来增加用户体验,也需要技术手段。
举例来说,A、B 两家航企皆开通了北京到马来西亚航线,如果 A 航企通过爬虫技术占据了 B 公司大部分票源,造成其无票可售后,乘客自然转向B公司购票。又或者利用爬虫技术占据经济舱座位,面对贵宾区高昂的价格多数乘客会选择更换平台购票。
而遭受虚拟占座导致资源浪费,卖不出票的 A 公司会善罢甘休吗?
当然不会,互爬大戏就此掀开。
OTA 网站吸引用户
如同程、携程、驴妈妈、去哪儿之类的 OTA 网站如何通过推广手段,获取更多的客户?
降低票价吸引客户,自然最有效的手段。但如何定价才能既不伤害自己的利润又略低于他家则是最关键的问题。要做到这一点势必先了解其他友商、同行普遍票价,此时便用到了爬虫技术。这似乎变成了行业潜规则,你爬我,我爬你,造成爬虫流量占据平台总流量 95% 的奇景很是平常。
之后要做什么?
看似常见的机票爬虫实则造成了一系列连锁反应,用户信息泄露,平台流量崩溃,机票诈骗,最初几块骨牌的倾斜引发的是整排多米诺骨牌的倾塌。
爬虫与反爬虫是博弈的过程,在此过程中无论是道高一尺还是魔高一丈都会引发不同的碰撞。
常规“反爬虫”技术包括IP限频限次、识别控制代理IP、祭出各类复杂验证码等。其中,IP 来源单一、从未成交过订单且行动异常的IP、访问频次过高等容易被识别出的“爬虫”,会被封掉IP。而对于航企来说,这远远不够。
航空公司下一步应该做什么?
航企可以从两方面考虑,其一是从业务场景上改进。
比如关于时间差问题,以往订票后的账期内已锁定某座位,其他人不能再定这张票。而目前国内三大航企已着手修改这一支付规则,必须付款后才会锁定座位,若是没有付款,这一座位仍可以被其他乘客购买。相当于提升了攻方的占座成本。
但是这一招数却相当于伤敌一千,自毁五百,因为会使用户体验下降,且降低了用户的转化率。
其二从技术手段上来说,航企的目标是要提升爬虫抢票行为识别的准确率,只有提升了准确率,才能精准打击,减少误差。
如何提升准确率呢?
可以从客户端和服务端上融合实现。客户端安全指用浏览器、APP购票的时候,在设备上进行环境的检测,检测出来对方是否自动化爬虫工具占票。同时再用人机识别(结合全网大数据分析的行为识别)。另外不但环境要是安全的,用户行为也必须是合理的,真实用户购票过程一定不会直接买票,而是有浏览轨迹或者页面跳转,如果没有这些动作则被视为潜在风险用户。
在服务端,可以基于对外部订票网站的全流量进行大数据的分析和智能决策,针对一个 IP或者设备 结合多要素进行综合分析决策,譬如其中间的点击,访问轨迹,包括其访问网站时对静态资源(图片、CSS)的访问丰富度等等,因为正常的用户一定要去执行这些东西,但是直接通过报文模拟他就不会去做。
而智能分析决策平台是如何搭建的呢?
李白告诉雷锋网,这个决策的过程就得通过专家,对整个票务领域的场景理解,针对的性给出一些专家规则,甚至我们也可以基于本地化的流量,再结合我们在云端的全网数据的分析,两者相结合,通过机器学习不断的优化我们这个规则,或者说给出一些树模型、神经网络的模型。在线预测的这种机制,可以更进一步的提升准确率,和查全率,既要查的准,又要抓的多。
当然上述决策往往建立在封IP的基础上, 但这种既可能误伤真实用户,对于攻方来说,一个IP不能访问那就换一个。所以守方也开始考虑,控制手段除了封闭,是否可以考虑加入动态的验证码,或者限速、限流、延迟到达等等。
比如某些网络爬虫采用先订票不支付,直到订单截止的前一秒取消订单并马上重新订票。若被识别出来,完全可以让原本计划的无缝衔接的二次抢占行为延迟几分钟到票务网站,在对方处于无感知状态下发现到手的票没了。除此之外,也可以在识别出机器人爬虫后将购票页面跳转到虚假网页,让其竹篮打水。
总之,“反爬虫”并非一朝一夕,这场攻防战必定是漫长的过程。
文章参考cnBeta