[发明专利]防爬虫的数据查询方法和装置以及客户端和服务器在审
申请号: | 201710638553.3 | 申请日: | 2017-07-31 |
公开(公告)号: | CN107483563A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 李震 | 申请(专利权)人: | 九次方大数据信息集团有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F17/30 |
代理公司: | 北京驰纳智财知识产权代理事务所(普通合伙)11367 | 代理人: | 蒋路帆,汤才祥 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 爬虫 数据 查询 方法 装置 以及 客户端 服务器 | ||
技术领域
本发明涉及互联网通信技术领域,具体而言,涉及防爬虫的数据查询方法和装置以及客户端和服务器。
背景技术
很多公司或者企业数据收集都是使用爬虫方式收集,即分析网站或者app中公开的接口,模拟接口参数,来访问接口,爬取数据。那么拥有数据源的公司会设置运维访问量,或者封账号的方式来防止抓取自己数据。目前,普通的防爬方案,只能解决必须登陆的用户,发现有用固定账号频繁调用接口的时候,会手动处理。另外,根据时效性处理不是很好,很多手机是可以改自己手机时间的,很多时候可能会造成非必要的防爬误伤正常用户。从运维角度只能封掉比如一分钟访问超过20次或者50次这样的大的ip。但是随着ip名单越来越长,那么每次遍历ip文件去查逻辑的频率也会有制约。限制数据中心调用接口总次数方式去把住数据源总出口方式,只是一刀切,当运维层未拦截及时,把当天总量用完时,误伤掉正常的用户。
单纯运维层面的拦截:即运维服务器设置两个文件,一个是黑名单,一个是白名单。根据每分钟每个ip访问量来加入到ip黑名单。同时在每分钟检查一次名单,读取名单,在每个进来的ip访问,进行筛选。白名单就是永远放开的ip列表。爬虫可以模拟ip;爬虫一般会租很多ip;有时4G的ip很容易被误伤。爬虫压低速度后,会避开运维检测。
接口层使用用户账号查封:即记录每个账号总访问量出口量,根据用户id,来判断此用户id 是否有效。如果一个用户id访问接口量特别大,则封掉此用户id,使此id失效。用户需要被强制登陆;公司内有些应用需求是不用登陆即可访问网络请求;另外压低到一定速度后,还是会被爬走比较多;当用户数量大时,维护成本高,数据库中垃圾数据存储过多。
数据源使用总接口访问量来做:即数据源出口是接口json或者xml方式,不是直接应用层访问数据库方式。数据源对每个应用都会有一个自己的账号,对这个账号会每天定一个接口访问总量。当这个账号访问任何数据源出口的接口,都会计数,当计数达到总量时,则数据源不再出数据。由于访问总量一定,如果某一天突然真实活跃用户量高时,或者某一天做活动突然访问量增大,则会误伤正常用户使用。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。提出了一种防爬虫的数据查询方法和装置以及客户端和服务器,既能够让APP的非登陆用户使用,又不被非正常用户(网络爬虫)爬走大量数据,同时减少运维层压力,减少接口层垃圾数据产生。
为实现上述目的,本发明的第一方面提出了一种防爬虫的数据查询方法,用于客户端,包括:与服务器通信,获取服务器的服务器时间;每次访问服务器接口时均发出加密串和时间戳,同时标注客户端的操作系统和设备唯一标识以供服务器进行校验;其中,加密串是使用MD5加密的密钥和格式化时间戳以及应用关键字;对网页控件设置客户端独有的键值以供HTML5端校验网页控件;向HTML5端提供加密串和时间戳,以供HTML5端携带加密串和时间戳向服务器请求业务进而实现数据查询。
优选的是,还包括:每次访问服务器接口时,都会从服务器返回信息中读取服务器时间进行设备时间纠偏,以保证客户端时间最大限度跟服务器时间保持一致。
在上述任一方案中优选的是,密钥存放在客户端中或者使用服务器传递。
根据本发明的上述技术方案,优选地,客户端的操作系统包括Android和IOS。
本发明的第二方面提出了一种防爬虫的数据查询方法,用于服务器,包括:接收客户端请求,获取客户端的操作系统信息和设备唯一标识;获取客户端发出的加密串和时间戳;判断时间戳是否在有效期内,若时间戳不在有效期内,则返回接口已失效的信息;若时间戳在有效期内,则计算出加密串与客户端传来的加密串做校验;若加密串一致则根据客户端的操作系统信息和设备唯一标识提供数据接口以供客户端进行数据查询,反之则返回接口已失效的信息。
优选的是,还包括:若在单位时间内某个ip的访问量超过阈值,则将ip来加入到黑名单,拒绝黑名单ip访问服务器中的数据;或者设置一个白名单,对白名单中的ip不做限制;对黑名单设置定期清理的逻辑,防止爬虫模拟ip爬取数据。
在上述任一方案中优选的是,当2分钟内有大量访问堆积在队列中时,自动屏蔽队列中的访问请求,减少服务器端接口压力。
在上述任一方案中优选的是,还包括:数据源使用总接口访问量来做,数据源对每个应用定下接口访问总量,当应用对数据源出口的接口访问次数达到总量时,数据源不再出数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于九次方大数据信息集团有限公司,未经九次方大数据信息集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710638553.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种园林锯
- 下一篇:一种用于酿酒葡萄树的修剪机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置