首页 >资讯 > > 正文

拦截网络爬虫流量技术的应用研究

中国保密协会科学技术分会 2023-05-26 12:12:51
一、Headers头部校验

网络爬虫的本质是对网络请求的模拟。脚本要发送请求,就需要构造请求头部,这个请求头部通常被称为Headers。Headers头部校验指的是服务器对HTTP请求报文中请求头键值对的检测。检测的键值对主要有三个:


(资料图片仅供参考)

(1) User-Agent:检测请求者的用户代理,此项缺失则判定为机器人。

(2) Referer:检测请求者是否以正常途径跳转到本页面,常用于防盗链技术。

(3) Cookie:检测请求者身份状态,在需要登录才能访问的网站通常需要携带。

要应对这类Headers头部检测非常容易,只需要在使用浏览器访问页面后进行抓包观察,大多数情况下直接复制请求头中的内容即可。值得注意的是,在需要登录才能访问的页面,其中的Cookie是有时效性的,需要及时更新。在一些安全防护较好的网站,Headers头部中也会额外加入一些本地JS运行后计算出的加密参数。

二、IP地址记录

对于IP地址的记录,主要是针对恶意爬虫,防止其在短时间内大量发起HTTP请求访问网站,造成网站资源的侵占。这种反爬虫手段原理就是检测异常访问用户,如果有请求在短时间(例如3秒)内连续访问网站高达数十次,则会进行IP记录,将其判定为机器人,在该IP地址的HTTP请求再次发来的时候,服务器就回复状态码403 Forbidden,禁止该请求的继续访问,这种防护手段的优点很明显,缺陷也很明显,那就是一刀切容易误伤人类用户。

此种反爬虫手段的应对需要爬虫开发者尽量减缓HTTP请求间隔,以求达到和正常人类访问页面相似的速度,避免被算法检测。或者可以建立IP代理池,也可以购买代理商IP,如图1所示:

图1快代理IP页面

在进行HTTP请求的时候使用代理IP访问,本地IP就会被隐藏在代理之后,即便被算法检测,也只需要更换新的IP地址。

三、Ajax异步加载

Ajax(Asynchronous JS And XML,异步JS和XML)是一种创建交互式网页应用的网页开发技术,简单来说,就是在浏览一个界面的时候,URL地址本身没有发生改变,页面内容却发生了动态更新,如图2所示,网页端里百度图片的瀑布流加载即使用了Ajax。

图2 百度图片抓包

这个时候,直接使用GET请求去获取页面内容是定位不到具体内容的,因为它的获取一般是经由数据接口进行返回的。

严格来说,这并不算是一种反爬虫技术,但是运用Ajax之后,爬虫开发者需要在网络请求包中去自行选择数据包才可以,而不是可以简单通过GET页面源代码来编写爬虫。面对此类技术,只需要进行网页抓包,在大量的数据包中寻找到真正包含网页内容的数据接口即可。因为数据如果要渲染到页面,就一定会有数据包将其传输到客户端,开发者要做的只是将它找出来。一般而言,此类技术进行数据传输返回的结果都是JSON格式的,所以需要用JSON包进行数据解析。

四、字体反爬虫

不同于一般的反爬虫思路,字体反爬虫主要在数据上做手脚。要获取的网页数据在浏览器中可以正常查看,但是在将其复制到本地后就会得到乱码。它的原理是网站自己自定义创造了一套字体,构建映射关系后将其添加到了css的font中,在浏览器中查看的时候,网站会自动获取这些文件,从而建立对应关系映射得到字符。而爬虫开发者在编写网络爬虫的时候,往往只会请求网页的URL地址,这就造成了映射文件的空缺,没有字符集能够解析这些字符,导致乱码问题。如图3所示,实习僧网页端使用了自定制的字体文件。

图3 实习僧字体反爬虫

字体反爬虫的突破有两种方法,第一种方法是找到font文件的URL请求地址,将其下载到本地后使用xml解析工具解析出来,然后就可以根据其中的字符对应关系,建立本地映射进行字符替换。第二种方法是直接手动复制其中的加密字符,在本地通过encode编码后得到对应编码,建立自己的本地映射字典,然后进行字符爬取替换。之所以可以使用第二种方法,是因为字体反爬虫的加密字符通常不会很多,大多是对阿拉伯数字和部分网站常用汉字进行加密,所以可以直接人工复制进行编码映射。

五、验证码反爬虫

如今的互联网恶意爬虫横行,上述的反爬虫手段虽然可行,但是被恶意爬虫突破也很容易。为了应对这种情况就诞生了验证码,从最开始的英数验证码到如今的图片点选验证码,验证码技术在不断更新迭代,未来也会出现更多类型的验证码。验证码的防护主要在两个阶段,第一个阶段是登录注册阶段,第二个阶段是访问页面阶段,前者是为了将恶意爬虫拦在门外,让人类用户进入,后者是为了清理那些突破了登录注册阶段,进入页面爬取的恶意爬虫,如果服务器检测到某IP地址在短时间内大量访问,不会直接封禁用户,而是出现验证码,这样就避免了对用户的误伤,不是一刀切,更加人性化。如果是人类用户自然可以通过这些点选识别的验证码,但如果是机器人就很难突破这第二道关卡,如图4所示的图片点选验证码。

图4 图片点选验证码

这类反爬虫手段的应对主要是对接各大验证码识别平台或者是通过训练深度学习神经网络模型,让模型帮助爬虫程序过掉验证码。而且如今深度学习框架盛行,训练模型早已不是难事,单纯的验证码识别已经拦不住搭配了深度学习模型的网络爬虫,所以网站开发者会在验证码识别背后再加上较复杂的JS参数加密,即便验证码被识别,也很难构造出最终的加密结果来,这样就提高了破解门槛。不过使用特殊的测试工具,例如selenium,可以直接搭配训练模型模拟人类行为过掉验证码,免去破解JS加密参数的烦恼。不过自动化的测试工具存在着明显的特征,个别网站会在JS文件中添加对自动化软件特征的识别,从而拒绝服务。

六、JavaScript参数加密

JavaScript(以下简称JS)参数加密常见于POST表单提交的情形里,主要是为了防范恶意机器人批量注册与模拟登录等行为。如果对POST表单进行抓包的话,会发现自己在表单里输入的数据被加密为了不可知的字符串,这主要是通过加载网站的本地JS脚本实现的。

对于这类反爬虫的应对,除了熟悉调试技巧外,还需要读者有较扎实的JS语言基础,因为此类加密的破解通常需要开发者能够读懂目标网站的JS加密脚本,并进行一系列的删改操作,用静态分析逐步从庞大的JS脚本中将具体的加密函数“扣”出来,在本地模拟运行得到加密结果,再通过POST发包将参数进行传递才能得到正常反馈,因此它能够阻挡大量技术力较低的恶意爬虫。

这类反爬虫手段的破解手段主要分两种:

(1)简单的加密直接使用Python语言进行复现。

(2)较复杂一些的加密可以将具体函数“扣”出来,组成加密脚本后模拟运行。同时还要对一些浏览器指纹检测进行模拟。

七、JS反调试

JS参数加密对于熟悉JS语言的开发者来说,防范的门槛并不高。所以为了从源头上断绝开发者对网站加密文件的分析,就诞生了JS反调试。

最简单的方法是通过禁止用户右击以及按F12等快捷键实现的,对于这种简单的防护只需要修改对应快捷键,或者在新窗口中打开开发者工具再切换回原页面即可。

较难一些的主要是通过检测用户是否打开了浏览器开发者工具或者是否修改了本地JS脚本文件,从而判断是否进行无限循环debugger的卡顿,让开发者无法进行脚本调试。这种反爬虫的破解需要熟悉JS Hook相关知识,因为检测控制台状态和脚本文件状态的源代码是大同小异的,可以通过编写Chrome拓展插件自动Hook反调试代码并进行函数替换,从而过掉检测让开发者能够进行静态分析。

八、AST混淆反爬虫

从理论上来说,任何反爬虫手段都无法阻止爬虫的进入,因为如果一个网站想要有用户流量,必然不会设置太高的门槛导致正常用户也无法访问。只要开发者的网络爬虫尽可能地模拟人类访问网站的情形,就能够进入网站肆意横行。

不过虽然无法根绝网络爬虫的进入,却可以提高网络爬虫进入的门槛,将网站的损失降到最低。在所有的反爬虫防护手段中,JS参数加密的防护效果是比较出色的,它能将大多数低技术力的爬虫开发者挡在门外。现在的网站即便是使用了验证码防护,其背后的HTTP请求传输也会使用JS对验证码参数进行加密,它虽然没办法完全阻止爬虫的进入,却能让爬虫开发者耗费大量时间在破解上,这是一种成本低廉却效果非凡的手段,如果网站的加密脚本经常更换的话,即便是再老练的爬虫开发者也会疲于奔命,因此如何加大JS脚本的破解难度是一个关键点。

常见的防止开发者调试JS脚本文件的方法无非禁止右击和禁止打开开发者工具,或者使用JS代码进行检测,但这些方法都存在着通杀通用的解决方案,因为它们的防护等级并不算高,只要熟练使用搜索引擎就可以过掉。要想在JS脚本防护上尽可能延长被爬虫破解的时间,最好的方法就是使用AST抽象语法树对JS脚本代码进行高度混淆,将其转化生成为不可阅读且不可识别,却可以正常运作的乱码文件。如图5所示,经过混淆的JS代码的可读性已经大大下降,这进一步增大了JS逆向的难度。

图5 经过混淆的JS代码

九、总 结

反爬虫技术并不能够根绝网络爬虫,这是必然的。网站的前端加密文件是任何用户都可以随意读取的,网站的存在是以真实用户的流量为依托的,如今的网络爬虫技术飞速发展,几乎能够达到以假乱真的状态。即便是检查JS文件是否真实运行在浏览器当中,爬虫开发者也可以在脚本文件中模拟对应的对象原型。但不论怎么说,爬虫和反爬虫的对抗,一方面提高了爬虫的门槛,强化了企业的安全意识,另一方面,又促进了爬虫技术的发展。

参考文献

[1]Ma Xiaoju,Yan Min. Design and Implementation of Craweper Based on Scrapy[J]. Journal of Physics: Conference Series,2021,2033(1).

[2]Deng Kaiying,Chen Senpeng,Deng Jingwei. On optimisation of web crawler system on Scrapy framework[J]. International Journal of Wireless and Mobile Computing,2020,18(4).

[3]Wang Wei,Yu Lihua. UCrawler: A learning-based web crawler using a URL knowledge base[J]. Journal of Computational Methods in Sciences and Engineering,2021,21(2).

[4]Tianyi Ma,Ziyang Zhang. Medical Consultation System based on Python Web crawler[C]//.Proceedings of 2021 2nd International Conference on Electronics, Communications and Information Technology (CECIT 2021).,2021:772-776.DOI:10.26914/c.cnkihy.2021.065511.

[5]Addo Prince Clement,Dorgbefu Jnr. Maxwell,Kulbo Nora Bakabbey,Akpatsa Samuel Kofi,Ohemeng Asare Andy,Dagadu Joshua Caleb,Boansi Kufuor Oliver,Kofi Frimpong Adasa Nkrumah. Video Ads in Digital Marketing and Sales: A Big Data Analytics Using Scrapy Web Crawler Mining Technique[J]. Asian Journal of Research in Computer Science,2021.

上一篇:化工实训基地:培养高素质人才,提升企业竞争力与产学合作 下一篇:最后一页
x
推荐阅读

拦截网络爬虫流量技术的应用研究

2023-05-26

化工实训基地:培养高素质人才,提升企业竞争力与产学合作

2023-05-26

走医保能报多少钱?北京医保报销待遇标准一览 每日速看

2023-05-26

中国陆军第71集团军某旅战斗射击演练掠影 天天热讯

2023-05-26

非遗传承从娃娃抓起

2023-05-26

年内34家企业登陆北交所 上市首日平均收益率22.84%

2023-05-26

uniprot数据库介绍 uniprot数据库分哪几个层次

2023-05-26

世界热议:去除唇毛妙招介绍 去除唇毛妙招介绍视频

2023-05-26

欧亚经济联盟第二届欧亚经济论坛聚焦多极化世界中的欧亚一体化

2023-05-26

网络共享打印机脱机_网络共享打印机脱机状态怎么解除|每日快播

2023-05-26

举报风波后,长城汽车比亚迪股价双双跳水

2023-05-26

杨杰到牛镇镇调研

2023-05-26

当前简讯:精巧丸_精巧

2023-05-26

安顺经开区:开展养老护理员培训 提升养老服务水平-焦点精选

2023-05-26

世乒赛裁判惹争议!樊振东遭警告,王曼昱陈幸同被罚,球迷质疑 热推荐

2023-05-26

大熊猫生活在哪里50字_大熊猫生活在哪里

2023-05-25

全球头条:沈白高铁建设按下“快车键”

2023-05-25

天天滚动:锌粉商品报价动态(2023-05-25)

2023-05-25

天天热讯:全国大学金融学专业最新排名(金融学专业大学排名)

2023-05-25

市爱卫会全体会议暨巩固国家卫生城市

2023-05-25

4月全国销售彩票金额同比增长62.0%,其中体育彩票增长81.8%,江苏、浙江、广东和山东增加额较多

2023-05-25

中燃协理事长刘贺明:推进燃气行业及金融行业的产融结合 服务我国天然气产业平稳运行及高质量发展

2023-05-25

【全球报资讯】文字脑洞规则怪谈2通关攻略解析

2023-05-25

我以为四任老公做了心脏支架能长寿,新婚当晚却离世,想法错了?

2023-05-25

手机sd卡怎么使用_手机sd卡-全球短讯

2023-05-25

一场古董奢侈品展,让武汉再一次接近奢侈品名流圈层

2023-05-25

因债务上限之争,惠誉将美国主权信用评级展望下调至“负面”!

2023-05-25

我国持续深入推进垃圾分类工作

2023-05-25

全球短讯!卢毅:三大邵商经济锻造邵东发展的坚韧性、优势性和先进性

2023-05-25

太帅了劳塔罗侧身凌空斩破门,7分钟连入两球-播报

2023-05-25

开年来各家银行理财怎么样了?|天天快讯

2023-05-25

8016吨钢桁架整体抬升,刷新国内同类纪录 南京美术馆新馆项目获国家大奖

2023-05-25

天天热门:高人气传奇私服手游合集 十大热门传奇私服手机版排行2023

2023-05-25

盛宝银行:英镑/美元重新夺回1.2400区域,美元失去动力 全球看点

2023-05-25

港股概念追踪 | 夏季用电高峰期将至 火电企业盈利修复 多位顶流基金经理抢跑买入(附概念股)

2023-05-25

读报丨人民日报连续刊文,谈人口高质量发展支撑中国式现代化 当前滚动

2023-05-25

宁波钜亿新材料科技有限公司

2023-05-25

世界热头条丨关于确定无人机智能应用“揭榜挂帅”项目中榜团队的公告

2023-05-25

简讯:抵押和质押的清偿顺序_抵押和质押

2023-05-25

【独家焦点】被马蜂蛰了怎么消肿止庠(被蜜蜂蛰了怎么消肿止庠)

2023-05-25

这些货车具有将您的业务提升到新水平的能力和技术 世界独家

2023-05-25

打破“舒适圈”!这个小区以“酬金制”撬动物业服务提质增效

2023-05-25

焦点速看:何小鹏:期待2023年4季度月交付量目标增长到2万台以上

2023-05-25

全球最资讯丨蚊子几天不吸血会死掉_蚊子几天不吸血会死

2023-05-25

头条焦点:吉利银河L7将在5月31日上市 或16.88万元起售

2023-05-25

黑龙江省:抓实考务业务培训 严守高考安全底线

2023-05-25

全球聚焦:青岛:校长论坛聚焦“体教融合助推教育高质量发展”

2023-05-24

小米集团:第一季度智能手机业务收入同比减少23.6%

2023-05-24

去欧洲旅游带多少钱购物_去欧洲旅游买什么便宜|焦点热文

2023-05-24

刚刚公布2023年养老金调整最新消息,养老金1500-5000元,哪个涨幅高?-世界速看料

2023-05-24

“保交楼”可以带动多少消费? 天天热推荐

2023-05-24

焦点热讯:曝南方医科大学合并广东省医,因已落后广医,目的是冲击双一流

2023-05-24

首搭激光雷达+纯电,4车换代还出MPV!领克新车规划曝光 世界关注

2023-05-24

商业银行担纲债务融资工具承销主角 专家建议提升承销专业性与合规性

2023-05-24

苦等几十年!Windows终于原生支持rar、7z等格式压缩文件了-全球观焦点

2023-05-24

金庸篇:问世间情为何物?-环球报道

2023-05-24

蛋糕毛利率为何下滑?2023年开店计划是什么?元祖股份回应|世界快资讯

2023-05-24

印度央行行长沙克蒂坎塔·达斯:厄尔尼诺现象对印度经济的影响仍然不确定,增加了经济增长的下行风险 天天报资讯

2023-05-24

正式任命,足协官宣徐根宝新职务,赴任亮相,范志毅武磊送祝福-热门看点

2023-05-24

快消息!暖心!金山这条道路亮灯,照亮百姓回家路

2023-05-24

泾阳县积极践行“拿地即开工”服务新模式助力项目建设提速增效

2023-05-24

平陆运河项目累计完成形象投资超100亿元 进入全线动工建设新阶段

2023-05-24

最新:【本地】“千县工程”县域超声医学中心专家组到灯塔市中心医院开展医学培训交流活动

2023-05-24

每日热点:古典家具论坛官网,古典家具论坛

2023-05-24

贵阳市观山湖区手上记忆博物馆新馆开放

2023-05-24

【环球聚看点】为什么说人民币汇率不会大起大落

2023-05-24

阿森纳本周租借球员观察-全球速讯

2023-05-24

【聚看点】【速看】再次发现!珠峰地区发现新的喜马拉雅鱼龙化石

2023-05-24

“千帆出海”行动计划:推动对外文化贸易扬帆远航

2023-05-24

世界热讯:Doinb复出失败?硬币哥直播回应:聊了一个下午还是失业了

2023-05-24

杭州这位外婆给慈善组织捐了1000万,外婆好酷,家人也一样好酷

2023-05-24

内维尔:不认为曼联下赛季能挑战曼城,俱乐部夏天会有大动荡

2023-05-24

Crimaster犯罪大师德武寄予安正确答案是什么(德武寄予安答案及案件真相解析一览)

2023-05-24

武汉三镇取得领先!谢鹏飞禁区外贴地斩打入球门死角

2023-05-23

甘肃省肉牛产业化龙头企业达277家_今日热闻

2023-05-23

全球时讯:广西弄岗保护区首次记录到虎舌兰属“幽灵兰花”

2023-05-23

环球滚动:国五和国六有什么区别_国五与国六区别是什么

2023-05-23

环球热推荐:曝宝马1系停产并取消 X2不再国产!网友:宝马梦没了

2023-05-23

施罗德投资:中国债券市场波动性会较低 保持乐观看法

2023-05-23

侯典举眼修复怎么样?术后评价、效果细节展示!

2023-05-23

环球微动态丨“超级风口”已来!知识城80万㎡大城美好生活兑现时

2023-05-23

天津父母投靠子女落户业务办理收费吗?|焦点观察

2023-05-23

环球快看:民族传统体育运动_关于民族传统体育运动简述

2023-05-23

天天百事通!小语种日语就业前景_日语就业前景

2023-05-23

世界视点!俄副外长:美西方的生物军事计划威胁他国安全

2023-05-23

销声匿迹70余年 广西发现岩溶特有珍稀植物野外活体植株 世界新消息

2023-05-23

看点:美国债务上限之争持续,机构称是推高金价的催化剂

2023-05-23

“22碧地01”回售金额5亿元 兑付资金已足额划转至指定账户-今日热文

2023-05-23

爱心驿站、无偿献血!迁安女婿赵志强好样的!

2023-05-23

全球讯息:韩国考察团今日起对福岛核电站进行考察

2023-05-23

1TB仅2799元 一加Ace 2V新版开售

2023-05-23

每日动态!网易跟贴最新事件_网易跟贴

2023-05-23

世界快资讯丨财运的本质,其实就是一个“换”字,读完受益一生

2023-05-23

闻“汛”而动!交通执法部门筑牢汛期安全防线

2023-05-23

武汉市第二商业学校(关于武汉市第二商业学校介绍)

2023-05-23

厨房门怎么选?吊轨门、谷仓门真的适合你家吗? 环球快报

2023-05-23

环球百事通!美国白宫:总统拜登将提名民主党律师安娜·戈麦斯担任联邦通信委员会的第五个关键席位

2023-05-23

银行个人先进事迹材料模板_个人先进事迹材料模板-每日热门

2023-05-23

最近妺妺的样子有点怪动漫无删减_最近妺妺的样子有点怪 环球报资讯

2023-05-23

天天快看点丨1吨柴油等于多少升柴油

2023-05-22