“爬虫”程序吃掉低价机票 高科技“黄牛”怎么破?
央广网北京12月27日消息(记者赵珂)据经济之声《天下公司》报道,2018年的春节已经离我们不远了。有消费者反映,自己希望能抢到一张回家的低价机票,但却在网上看到有报道说:航空公司放出的低价机票,80%以上都被票务公司的“爬虫”抢走,普通用户很少能买到。 “爬虫”到底是什么?它又是怎么抢机票的呢?据技术专家解释,通俗来说,“爬虫”又称网页“蜘蛛”、网络机器人,是一段用来批量、自动化采集网站数据的程序。这种信息采集过程很像一个爬虫或蜘蛛在网络上漫游,网络‘爬虫’或网页‘蜘蛛’因此得名。 “爬虫”最早应用在搜索引擎领域,比如谷歌、百度、搜狗等搜索引擎工具每天需要抓取互联网上数百亿的网页,它们需要借助庞大的“爬虫”集群来实现搜索功能。 现在,“爬虫”已被广泛用于电子商务、互联网金融等诸多领域。比如,“爬虫”可以抓取航空公司官网的机票价格,发现低价或紧俏机票后,“爬虫”可以利用虚假客源的真实身份信息实现抢先预订。 民航资源网专家韩涛告诉《天下公司》,票务公司利用航空公司的订票规则,把低价票抢到手再加价卖给消费者:“根据航空公司的规则,用户在定到座位以后,需要在15到30分钟之内付款,票务公司就是利用了这个时间段。票务公司用‘爬虫’抢到票之后,如果15到30分钟内有真实客户找他们买票,他们就立刻退掉手里的便宜机票,并马上使用真实客户的信息抢票,再加价后卖给客户;如果在这个时间段内没有客源,15到30分钟后系统自动退票,票务公司的‘爬虫’程序仍然可以反复抢票,反正这些都是机器自动完成的。” 据媒体报道,携程旅行网的“反爬虫”专家曾透露,某网站的一个页面,每分钟的浏览量是1.2万,真实用户只有500个,“爬虫”流量占比为95.8%。很多业内人士也表示,即使在“爬虫”活动的淡季,虚假流量也占到订票网站总流量的50%,高峰期更是在90%以上。 有业内人士表示,这些“爬虫”流量消耗了大量的机器资源,却不产生任何消费,这是每个公司最痛恨的东西。但是,因为怕误伤真实用户,各家公司的“反爬虫”策略做得非常谨慎。 目前,对于这种高科技“黄牛”倒票行为,还没有明确的管理规定,使得这种恶意抓取信息并不当获利的行为处在法律法规监管的“灰色地带”。网络安全专家李铁军说,航空公司也有反“爬虫”的技术,但想要真正战胜这些高科技“黄牛”,需要一个长期的过程。 网络安全专家李铁军也指出,其实国内有一个售票系统能很好地对付这些高科技“黄牛”,那就是火车票订票的唯一官方网站12306, 李铁军说:“12306解决的非常好。火车票退票之后不会马上放出来,而是会隔一段时间之后才放出来,黄牛就没有机会马上抢到。而且12306的实名制要求很高,每一个IP或者账号绑定的身份信息限定在15个以下,票贩子注册会非常麻烦,会需要很多账号。机票销售并没有一个像12306这样的平台,而是由各个代理公司来做,这样就给了‘爬虫’可乘之机。” 不过,一位不愿透露姓名的航空业内人士认为,航空业的票务系统与铁路票务系统很不一样,很难说孰优孰劣。民航资源网专家韩涛则表示,航供公司在技术上可以有效限制高科技“黄牛”,但又怕这样会影响消费者的购票体验。 这位不愿透露姓名的航空业内人士建议,铁路售票系统可以和航空公司的售票系统进行融合,这样既能提高安全性,也能给消费者带来更多方便。
- SQL Server安全(1/11):SQL Server安全概述
- SQL Server安全(2/11):身份验证(Authentication)
- SQL Server安全(3/11):主体和安全对象(Principals and Securables)
- 在SQL Server里如何进行页级别的恢复
- 你可能不知道的字符比较中的“秘密”
- c++实现简单计算器
- re模块(正则表达式)
- Python学习——collections系列
- 为stackGan一个工程创建一个虚拟环境,python 2.7 tensorflow0.12-tensorflow 1.01
- linux 普通操作,查看资源使用情况
- Python 函数使用记录,join函数和os.path.join用法
- 01.SQLServer性能优化之----强大的文件组----分盘存储
- stackGan实验
- pyTorch基础入门练习
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据库的优化方法,一般人我不告诉他(建议收藏)
- idea 远程调试
- 嘘!高效快速的刷访问量(偷偷收藏)
- 进行JDBC操作时,连接参数的配置(附DBUtil工具类)
- JavaEE中,考勤(签到签退)功能的实现
- HTTP协议详解,浏览器和服务器交互过程详解
- 京东网页(动态)搭建,利用jquery实现
- 京东购物车(动态)网页搭建,利用JavaScript实现
- 你不知道的 TypeScript 泛型(万字长文,建议收藏)
- JavaScript中的函数、对象
- 京东购物车网页(静态)搭建
- MyBatis注解详解
- MyBatis完整环境搭建步骤
- JDBC常见操作总结
- Oracle数据中的序列、索引、视图、事务操作详解以及rowid 和 rownum的简单介绍