注:本篇意在学习,如有侵权,请联系删除

之前有用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相关推荐

  1. 基于Vue.js制作的仿车轮驾考通APP端页面

    背景:学习完Vue,老师要求期末作业以Vue技术做一个手机端或者PC端的前端小项目.期末临近,周围的同学有的仿微信APP端,有的仿QQAPP端.小萍去年考科目一用了车轮驾考通刷题,然后她最后决定基于V ...

  2. 安徽财经大学199管理类联考综合能力考研历年真题库资料

    安徽财经大学199管理类联考综合能力考研历真题库资料 说明:(获取资料点击:考研初试复试资料获取 (~). 一. 安徽财经大学199管理类联考综合能力考研资料 第一部分.考研历 真题汇编 1-1.统考 ...

  3. 2020江苏省计算机等级考试题库,2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材...

    &nbsp&nbsp[导读]:2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材,更多江苏等级考试易考套餐,请访问易考吧江苏等级考试栏目 2020年江苏省计算机等级考试易 ...

  4. 【2021-03-17】JS逆向之某实时票房榜数据解密

    文章目录 前言 一.页面分析 二.参数解析 三.源码分享 前言 目标地址:aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvaW5kZXguaHRtbA= ...

  5. QQ音乐JS逆向分析参数,爬它,多图预警

    昨天看一个哥们的文章说是MD5加密,自己试了试,不知道怎么出错了,所以就老老实实JS逆向了,但真的是MD5加密 分析一下要获得的参数 这次用逆推的方式,应该好理解 1.开发者模式,媒体C40000开头 ...

  6. 驾考计算机播报原理,科目三电子路考流程详解 考驾照的都看看!

    2017-04-01 11:40:49 为了帮助学员更快的通过考试,元贝小编在这里和大家讲解一下科目三电子考的具体流程,供学员参考学习. 如今,科目三已变为计算机评判,每个环节都有电脑直接判定是否合格 ...

  7. sql删除重复的数据保留一条_leetcode题库-sql练习精讲系列--九、删除重复

    这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...

  8. 二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)

    填空题 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息.ss所指字符串数组中共有N个字符串,且串长小于M.程序中 ...

  9. 2014 华为机考 中国海洋大学上午第三题(java实现)

    昨天上午,在还算轻松地情况下完成了机考,虽然最后一题做了一个多小时都没做出来,但是庆幸后面的行为模式测试过关了,真是刷人的测试啊. 回来后把第三题再想想,重新做了一遍,结果不到20分钟就做出来了(我觉 ...

最新文章

  1. java分布式+高可用_[Java复习] 分布式高可用-Hystrix
  2. java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
  3. 鸿海拟将相关物流企业在中国大陆上市
  4. 听安全专家讲如何黑掉黑客的故事
  5. 将应用打包为 Snaps
  6. mysql主从进行扩展_MySQL 主从扩展
  7. android onitemclicklistener 参数,android – 对listview中的项使用setOnItemClickListener
  8. idea 编译 maven 项目
  9. java 正则比大小_Java:正则表达式模式匹配器是否有大小限制? - java
  10. NoSQL 数据库分类
  11. PHP设计模式——解释器模式
  12. 基于Springboot的在线音乐网站开发与实现
  13. MQTT 物联网Mosquitto服务器配置要点
  14. 《我的团长我的团》书及电视剧观后感
  15. 歪歪在去往宝石的路上,步履蹒跚中-1
  16. 使用朴素贝叶斯进行个人信用风险评估
  17. 从零学习Nginx配置文件,呕心沥血w字长文
  18. 【转】 bio 与块设备驱动
  19. linux中户主目录,如何在Ubuntu 18.04 Bionic Beaver Linux上配置Samba服务器共享
  20. python搜索文献 速成_0基础5天速成Python,你也能发top期刊

热门文章

  1. CyanogenMod 表示不会推出基于预览版 Android L 的CM ROM
  2. DNS 的一些基础知识,以及 DNS 转换域名的过程
  3. html5 css3实现幻灯片效果代码,CSS3实现的渐变幻灯片效果
  4. redis源码 -ziplist
  5. 编译器优化和cpu优化
  6. 团队管理36-规划自我管理之路
  7. 【温故知新系列】软件测试原则的7个基本原则
  8. netbeans运行问题解决
  9. Comsol的多面体建模,以六边形建八面体为例
  10. Raspbian上显示韩文并安装韩语输入法