几个复杂的反爬虫策略和应对方法
admin
2021-01-30 00:12:27
0次

自互联网不断发展以来,爬虫与反爬虫的战争从未停歇。今天天启IP给大家分享几个复杂的反爬虫策略,一起来看看吧~

几个复杂的反爬虫策略和应对方法

(1)数据伪装

在网页上,爬虫工作者可以监听流量,然后模拟用户的正常请求。在这种情况下,某些网站会对数据进行一些伪装来增加复杂度。例如,在某网站上展示的价格为 299元,在 DOM 树中是以 CSS 进行了一些伪装。要想得到正确的数值,必须对 CSS 的规则进行一些计算才行。在这种情况下,使用爬虫必须要非常小心,因为很可能目标网站进行改版后,规则已经发生了变化,抓取到的数据便会无效。

(2)参数签名

APP 通过加密算法对请求的参数进行运算,从而得到一个签名。这个签名通常和时间戳相关,并且在请求中附加上时间戳。在请求的参数固定的情况下,能够在一小段时间内生效。当请求发送到服务端后,服务端对参数、时间戳进行验证,比较签名是否一致。如果不一致,则判断为非法请求。获取 APP 端的加密算法一般较为困难,通常需要进行反编译才能获得加密算法。

(3)隐藏验证

更复杂的反爬虫的方式之一是,隐藏验证。例如,在网站的防护上,通过 JavaScript 请求一些特殊的网址,可以得到一些特定的令牌(token),这样每次请求时即可生成不同的令牌。甚至有些网站会在不可见的图片加上一些特殊的请求参数,从而识别是否是真正的浏览器用户。这种情况下,想直接获取 API 进行请求通常行不通或者非常困难,只能通过 Chrome Headless 等工具模拟用户的行为,从而规避这种情况。

(4)阻止调试

有一类反爬虫策略比较特殊,一旦打开浏览器的控制台界面,就会无限触发浏览器的 debugger 指令。网站在一个名为 leonid-tq-jq-v3-min.js 中给所有的构造函数都加上了 debugger 这个关键字,导致任何对象的生成都会触发调试器。这样做的目的是阻止意外的脚本或程序进行跟踪调试,从而保护代码。这种情况下,可以构建一个修改过的js文件,去掉debugger关键字,使用 mitmproxy 转发流量并拦截 leonid-tq-jq-v3-min.js,将改后的 js 文件返回给浏览器,从而绕过这个限制。

相关内容

热门资讯

自荐信要怎么写 自荐信要怎么写  1、语气自然 语言和句子要简单明了。不要听上去象别人的话,特别是用一些你从未用过的...
描写古代女子美貌的句子 导语:窈窕淑女,君子好逑,以下是小编精心为大家搜集整理的描写古代女子美貌的句子,供大家参考。描写古代...
过年回家句子 过年回家句子(精选95句)  在平平淡淡的日常中,大家都收藏过自己喜欢的句子吧,根据用途和语气,句子...
抖音点赞最火最高句子 抖音点赞最火最高句子  在平日的学习、工作和生活里,许多人对一些广为流传的句子都不陌生吧,根据用途和...
世界上最悲伤的句子   1、年少青春在还没有经受起挥霍时就已经不复长存,青梅竹马也只是儿时无知岁月用来消遣光阴的无谓道具...
生活积极的句子 关于生活积极的句子  也许一个人,要走过很多的路,经历过生命中无数突如其来的繁华和苍凉后,才会变的成...
激励上进的正能量句子 激励上进的正能量句子  在我们平凡的日常里,大家总少不了接触一些耳熟能详的句子吧,在不同类型的文章里...
纪念烈士缅怀先烈的句子 2022纪念烈士缅怀先烈的句子(精选65句)  在现实生活或工作学习中,大家都接触过比较经典的句子吧...
回归家乡的句子 回归家乡的句子  句子是语言运用的基本单位,它由词、词组(短语)构成,能表达一个完整的意思,如告诉别...
描写小兔子的段落 描写小兔子的段落大全  1、兔子浑身长满了毛茸茸的白毛,远远看去像一团棉花。它的一双红眼睛被白毛包住...