最近写一个爬虫,根据输入的关键字抓取某电商网站的搜索结果。实际应用时估摸着请求了5、6次,然后便直接跳转到登录页面,需要登录才能进行抓取,所以就只能登录再抓了。
可是我很好奇,这种验证机制背后的原理是什么?!有大神能够解答一番嘛,不甚感激!
1
latyas 2015-07-14 11:07:51 +08:00
233 难道是淘宝
|
2
crayygy 2015-07-14 11:11:30 +08:00
233不要测试淘宝
注意友好 |
3
wind4 2015-07-14 11:24:14 +08:00
referer、cookie、csrf、请求间隔……只想到这么多
|
5
est 2015-07-14 11:34:03 +08:00
2333 最弱的反爬虫手段。
|
6
frankzeng 2015-07-14 12:06:41 +08:00
加上user-agent,然后随机暂停一下
|
7
akira 2015-07-14 12:10:20 +08:00
同一IP短时间内访问次数,这个限制也蛮常见的
|
9
ljcarsenal 2015-07-14 12:36:57 +08:00
据说taobao有复杂的检测模型。。。不光是上面提到的那些
|
10
aragakiiyui OP |
11
aragakiiyui OP @frankzeng 就是会有大量的请求啊。。不然我也乐意停一停,不过也太吊了,请求几次就要登录了。。
|
12
aragakiiyui OP @est 该如何是好。。。
|
13
aragakiiyui OP 现在是14:35分,我又能搜了。。我直接F5手动刷新。。若干次后,又直接跳转登录页面了。。
|
14
nullcc 2015-07-14 14:40:24 +08:00
这种类似CC攻击的请求是有可能被拦截的,内部验证机制可能会相当复杂,user-agent,referer这些的有可能会去验证,还有就是CC攻击几乎是一些纯粹的页面攻击,大多并不会去请求这个页面所加载的一些其他文件,有一种做法是去查看某个IP在加载某页面时是否还加载了相关文件,但从防护角度来说这个方法是相当复杂的。
|
15
nullcc 2015-07-14 14:47:40 +08:00
尽管有各种验证机制,就算能绕过,但同个IP过于频繁的请求还是有可能被加入黑名单
|
16
aragakiiyui OP @nullcc 那估计只能不停换ip去访问了。但是有什么简单的办法确定何时换ip?
|
17
paw 2015-07-14 15:00:16 +08:00
打开chrome ,右键 审查元素, 打开淘宝 搜索
然后把chrome发出请求的全部头和cookies都添加到爬虫去。。 |
18
nullcc 2015-07-14 15:04:05 +08:00
@aragakiiyui 除非能知道对方的计算方式,如果不怕累的话,不断累加请求去发。。
|
19
imn1 2015-07-14 15:11:32 +08:00
很明显大数据检测出不是“常用设备”
|
20
latyas 2015-07-14 15:48:59 +08:00
淘宝估计是各URL有相应的单位时间访问次数限制,这个单位时间不是1s,可能是一段时间,并且全天各时间段都不一样,然后按照行为给予客户端惩罚值,超过了就要输验证码,然后这个阈值会提高,再次达到时又要输验证码,再次提高,有点像E绅士,233
|
21
est 2015-07-14 16:45:17 +08:00
@paw 没用。比如用js插入一段css加载了一个background的图片,爬虫没加载,直接封ip。
@aragakiiyui 其实对付这种只有一个办法:买ip。淘宝批发代理ip很便宜,1元钱1w个的样子。 |
23
frankzeng 2015-07-14 18:17:28 +08:00
@aragakiiyui 这种事急不来的,延长时间,慢慢爬。
|
24
t2xingzhe 2015-07-14 18:17:47 +08:00
记得爬豆瓣的时候也会出现验证你是否是机器人,大概有每分钟访问次数判断
|
25
realpg 2015-07-14 20:00:59 +08:00
我业余就是搞各种黑科技的。
反自动化、自动化识别是其中最好玩的,你在跟一大帮其他顶尖程序员战斗。 不用淘宝,就我自己都有一大把模型去判断你到底是什么东西,淘宝受限于规模过大,还不好部署一些奇葩的黑科技东西,自己弄就好多了。 识别非人类用户,半非人类用户的方法太多了,随便组合组合,随机的,再结合访问次数,就够杀掉你了。 最基础的,你用一个固定IP的服务器去抓东西,这都不用专业的反自动化引擎,基本的IP判断结合特征就把你识别透了。 |
27
aragakiiyui OP @paw 这个都知道啊,问题是,你用chrom手动F5刷新都能被跳转。。。不信你试试,一淘网。。
|
28
aragakiiyui OP @realpg 那除了换ip没有别的方式了?!
|
29
aragakiiyui OP @t2xingzhe 豆瓣有次数限制的,而且也提供了API。
|
30
realpg 2015-07-15 09:54:01 +08:00
@aragakiiyui 怎能换IP这么简单?
你试图去爬淘宝,你的技术储备够么?淘宝是明确的禁止其他搜索引擎抓取的大网站,有专门的反抓取技术部门 上一份要爬淘宝的业务,技术顾问职位给我开的价是在职干三个月给120K,我都没干 既然去抓淘宝,那都是巨挣钱的项目,不是撸cb就是撸iic,哪个缺钱……找专家吧 |