逛论坛发现一个求助帖,想获取数据但网站有cookie反爬,闲来无事就分析了一下cookie参数生成方法~
2021-01-04更新:如果此篇看不懂,可直接看第二篇,只要是网站使用的是同一家公司的服务(加速乐),这个参数获取方式都是一样的。
目标:生成cookie中的__jsl_clearance_s参数
工具:chrome/firefox浏览器、fiddler、pychram、python3.7、解混淆专解测试版V0.1
模块:requests、re、execjs、json
分析:
首先打开浏览器,和fiddler抓包工具,发现浏览器进行了三次请求,前两次响应的状态码为521,响应内容都是一段js代码,第三次请求响应得到正常内容,并且携带了两个cookie参数;
通过三次请求对比,发现第三次请求cookie中的__jsl_clearance_s参数和第二次请求中的并不一样;
先看看第一次响应的结果,为一段js,这段js代码为浏览器设置了一个cookie;
这里直接利用正则将这段代码提取出来,再利用execjs模块执行,即可得到这个cookie:
# 提取js代码
js_clearance = re.findall('cookie=(.*?);location', response.text)[0]
# 执行后获得cookie参数js_clearance
result = execjs.