python浏览器等待5s的反爬虫

http://www.mamicode.com/,当第一次进行访问时,会发现浏览器正在加载2s中,随后才会显示真正的网页。那么怎么进行爬虫破解呢

首先对网址进行抓包处理可以发现,当出现浏览器正在加载2s时,网页内容其实时post一个表单,

然后查看一下

这些字段一看就很难解决,但是不用担心,打开源代码可以发现,字段就在网页中

最后需要的jschl_answer怎么得来呢,可以在js中发现答案,

可以发现,在这里对jschl-answer进行赋值,

而bEJZJoY.JxroswB字段,也是通过js生成的,所以可以找到这样的一段代码

这一段的js看不懂不要紧,放在浏览器执行一遍,查看结果

然后去跑bEJZJoY.JxroswB-=+((!+[]+!![]+!![]+!![]+!这一段的大js就行了。将最后得到的值,赋值给表单的元素

a.value = (+bEJZJoY.JxroswB).toFixed(10)

在执行大段js的时候会发现:Cannot read property 'innerHTML' of null错误,原来是

document.getElementById(k).innerHTML,而k可以发现是cf-dn-xGgX

k代表的内容为

因此很容易拿到结果了。

因此思路就出来了,只需要访问第一次访问网页,将js抠出来,获取表单数据,模拟请求表单就能得到cookie,在进行请求,就可以获取到正常的代码

网页中的js代码隐藏的表单数据是一段jother生成,所以只需要python去执行这一段js就可以得到内容,在post一下表单就能成功爬取

# 最后补充下这样的js写法:

jother编码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值