js逆向 签名参数解析 驾考数据科目一科目三题库爬虫分享 python scrapy
注:本篇意在学习,如有侵权,请联系删除
之前有用selenium抓取科目一试题,但是只能抓到题干和试题答案,抓不到试题分析还有答题技巧,因为接口中有一个叫做 _r 的签名参数是加密过的,扣JS又太麻烦, 今天比较闲就想着来试试
环境:
windows10
python
scrapy
mysql
废话不多说
首先分析数据接口url的参数
https://api2.jiakaobaodian.com/api/open/question/question-list.htm?_r=115588757061507390094&questionIds=888800%2C893400%2C888600%2C895800%2C890700%2C1162800%2C876400%2C880000%2C879800%2C875700 (注此链接点击一次即失效,因为每个_r只能用一次)
questionIds这个很明显后面是跟的题目的id中间有逗号用urlencode转码即可 不转也行 首先说一下题目id从哪来,下面这个url
https://api2.jiakaobaodian.com/api/open/exercise/sequence.htm?_r=115154426246160380075&carType=car&cityCode=110000&course=kemu3
course参数后面跟的值就是kemu几,此处是科目三,cityCode这个参数后面是跟的城市代码,有一些城市的题目数量是不同的,但是全国的话题目数量是最多的,110000就是全国的城市代码,这里可以看到这个接口里也是有_r 这个签名存在的,那么接下来就进入正题
首先可以看到在network中 想要的数据是XHR类型的,想找到参数_r是怎么来的, 第一步先在
这个位置给所有的XHR数据传输打上断点,
然后咱们手动点击下一题,一般点击25下,就会有数据传输,因为他每次是25个题目数据一起传出来的
首先看到是在这停的,可以看到这个时候_r 已经有值了,那么我搜索e.paramString 看看他的_r是在哪传过来的,
然后搜索到了这里,可以看到这个时候_r还是没有值的,哪就在这下了个断点,
接着来,就调到了这里
断点是我后来加的,此时请忽略,看下张图
这个时候我发现,s(1)他的值,就是我要找的_r 接下来测试下
把他带入到url试一下,果然是它,知道是那个函数了,哪就扣它。然后就像上面那张图,下了那么多断点,n += parseInt(o[a]); 在这个地方 发现他会循环好多次调到下图
会调到这里来,接下来就好起来了,
看这两张图能看到 _r= t+o+n ,
那么把这个还有return s(1)那个粘到同一个js中,来用python来试一下
把这个值带入url一试,果然,就是它就是它,接下来就创建scrapy 项目,直接调用s()函数就ok了,_r签名已经ok了,接下来就是抓取数据了。给大家看下结果
这里说下哈,图片存base64或者 字节流的话,打开表速度会慢一些,所以分贝把科目一科目三的图片和动图(动图是mp4格式)下载到了本地,,这里给图片存了一个网络地址字段,一个本地地址字段,这篇讲的是小汽车的数据,其他车型的,原理也是一样的。
数据+源码 : 数据+源码 点这里
js逆向 签名参数解析 驾考数据科目一科目三题库爬虫分享 python scrapy相关推荐
- 基于Vue.js制作的仿车轮驾考通APP端页面
背景:学习完Vue,老师要求期末作业以Vue技术做一个手机端或者PC端的前端小项目.期末临近,周围的同学有的仿微信APP端,有的仿QQAPP端.小萍去年考科目一用了车轮驾考通刷题,然后她最后决定基于V ...
- 安徽财经大学199管理类联考综合能力考研历年真题库资料
安徽财经大学199管理类联考综合能力考研历真题库资料 说明:(获取资料点击:考研初试复试资料获取 (~). 一. 安徽财经大学199管理类联考综合能力考研资料 第一部分.考研历 真题汇编 1-1.统考 ...
- 2020江苏省计算机等级考试题库,2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材...
  [导读]:2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材,更多江苏等级考试易考套餐,请访问易考吧江苏等级考试栏目 2020年江苏省计算机等级考试易 ...
- 【2021-03-17】JS逆向之某实时票房榜数据解密
文章目录 前言 一.页面分析 二.参数解析 三.源码分享 前言 目标地址:aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvaW5kZXguaHRtbA= ...
- QQ音乐JS逆向分析参数,爬它,多图预警
昨天看一个哥们的文章说是MD5加密,自己试了试,不知道怎么出错了,所以就老老实实JS逆向了,但真的是MD5加密 分析一下要获得的参数 这次用逆推的方式,应该好理解 1.开发者模式,媒体C40000开头 ...
- 驾考计算机播报原理,科目三电子路考流程详解 考驾照的都看看!
2017-04-01 11:40:49 为了帮助学员更快的通过考试,元贝小编在这里和大家讲解一下科目三电子考的具体流程,供学员参考学习. 如今,科目三已变为计算机评判,每个环节都有电脑直接判定是否合格 ...
- sql删除重复的数据保留一条_leetcode题库-sql练习精讲系列--九、删除重复
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- 二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)
填空题 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息.ss所指字符串数组中共有N个字符串,且串长小于M.程序中 ...
- 2014 华为机考 中国海洋大学上午第三题(java实现)
昨天上午,在还算轻松地情况下完成了机考,虽然最后一题做了一个多小时都没做出来,但是庆幸后面的行为模式测试过关了,真是刷人的测试啊. 回来后把第三题再想想,重新做了一遍,结果不到20分钟就做出来了(我觉 ...
最新文章
- java分布式+高可用_[Java复习] 分布式高可用-Hystrix
- java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
- 鸿海拟将相关物流企业在中国大陆上市
- 听安全专家讲如何黑掉黑客的故事
- 将应用打包为 Snaps
- mysql主从进行扩展_MySQL 主从扩展
- android onitemclicklistener 参数,android – 对listview中的项使用setOnItemClickListener
- idea 编译 maven 项目
- java 正则比大小_Java:正则表达式模式匹配器是否有大小限制? - java
- NoSQL 数据库分类
- PHP设计模式——解释器模式
- 基于Springboot的在线音乐网站开发与实现
- MQTT 物联网Mosquitto服务器配置要点
- 《我的团长我的团》书及电视剧观后感
- 歪歪在去往宝石的路上,步履蹒跚中-1
- 使用朴素贝叶斯进行个人信用风险评估
- 从零学习Nginx配置文件,呕心沥血w字长文
- 【转】 bio 与块设备驱动
- linux中户主目录,如何在Ubuntu 18.04 Bionic Beaver Linux上配置Samba服务器共享
- python搜索文献 速成_0基础5天速成Python,你也能发top期刊