跟新了内容
新内容:更新的内容
两边来回写太麻烦了,主要是有图片。大家点进去看吧

环境:python 3.6
脚本最后一次修改于 2021-08-27

本次解析的参数为sign,解析的来源为微信小程序源码和H5页面JS文件

咱也不废话,直接上干活
应产品的需求要求需要相关的品类数据(详情数据也验证过,都是相同的方式,没问题的)
需要获取产品列表页的数据,通过两个post接口获取。
接口1【https://app.poizon.com/api/v1/h5/search/fire/commodity/detail_brand"】
参数:{“sign”: 加密参数, “brandId”: 品牌ID,“lastId”: 当前页最后的数(page*pageSize),“sortType”: 2,“sortMode”: 1, “limit”: pageSize,“categoryIds”: [],“debugAgg”: True,“aggregation”: True}

接口2【https://app.dewu.com/api/v1/h5/index/fire/shopping-tab】
参数:{“sign”: 参数, “tabId”: 分类ID, “limit”: pageSize, “lastId”: 当前页最后的数}

这两个只是我用到的,在你实际情况中,可能并没不会使用到这两个,但一通百通,你明白的。

下面讲一下sign这个参数的由来,和注意事项。
你捕获到的接口参数结构顺序是什么样的,就是什么样的,顺序不要变。因为这个顺序和sign的由来有关。
接口访问有IP风控,很严格。如果只是技术研究和学习,低频率的访问即可。如果是其他,请自行开动脑筋。
pageSize也就是参数里limit,固定是20,改成其他的没啥用。

先说下接口1的sign
这个接口是在H5中捕获到的相关接口。通过JS断点的形式跟踪,发现在进入到发送请求前,参数中还是没有sign这个值的,因此断定,sign是在发送请求这个操作力,发送前以固定形式进新的加密。
继续断点,跟踪方法,找到最后的加密结果前的内容
“aggregationtruebrandId{tp}categoryIdsdebugAggtruelastId{lastId}limit{limit}sortMode1sortType2048a9c4943398714b356a696503d2d36”
细心的朋友可以发现这个内容可以分为两个部分
f"aggregationtruebrandId{tp}categoryIdsdebugAggtruelastId{lastId}limit{limit}sortMode1sortType2"
“048a9c4943398714b356a696503d2d36”
对。你没有看错,就是参数字符串化后+固定字符串。然后通过加密生成。
ps:加密我是试出来的。因为很明显是32位小写的,肯定第一想法是md5,试验下,确实是md5.
这也就是为啥每一次访问都是的参数只要变化,sign就无法二次使用的原因。

PostMan测试请求成功。
另外再提一次,网站的频繁访问接入的是极验滑块。

接着是接口2的sign
有了接口1的经验,接口2的思路也很明确了。
获取手机小程序源码。源码通过工具反编译。(百度吧,太多小程序怎么获取和反编译的)
反编译后生成了三个js文件和一个json文件,json文件确认是该小程序。直接打开
因为咱们知道是md5加密,能找到md5关键字的,切格式相同的,就是app-service.js

因此,我们知道到小程序里的参数组合中的固定字符串是什么了。
19bc545a393a25177083d4a748807cc0
根据接口1反推下接口2的sign组成应该是
f"lastId{lastId}limit{pageSize}tabId{tp}19bc545a393a25177083d4a748807cc0"
PostMan验证下,没有问题。

因为是时隔好几天的文章创作,一些步骤截图我就不在动手了。还是因为内容不是太难,只要细心点,多思考下都能搞定。

加油,打工人,咱们下一次再见。
PS:这里不保证官方会不会进行更新,更新后固定参数会不会改变。也不保证各位看官看到并学习使用的时候,还能否正常使用到。
但只要大的套路不变,其实也就那样。
加油~

得物数据抓取+参数加密解析相关推荐

  1. 干货!链家二手房数据抓取及内容解析要点

    "本文对链家官网网页进行内容分析,可以作为一般HTTP类应用协议进行协议分析的参考,同时,对链家官网的结构了解后,可以对二手房相关信息进行爬取,并且获取被隐藏的近期成交信息." 另 ...

  2. 大数据测试:多图表报告数据抓取参数

    背景:大数据服务最具特色的功能就是报告了,一键生成你想要的报告,生动丰富的图标让你清晰明了,但是多图表的数据往往在出现问题时,想通过抓包来定位问题原因时就较为麻烦. 一.数据丢失 1.报告预览页 2. ...

  3. 爬虫Spider 05 - 代理参数-proxies | 控制台抓包 | requests.post() | 动态加载数据抓取-Ajax

    文章目录 Spider 04回顾 requests.get()参数 常见的反爬机制及处理方式 Spider 05笔记 代理参数-proxies **控制台抓包** **requests.post()参 ...

  4. 有哪些好用的互联网数据抓取,数据采集,页面解析工具?

    1. 互联网刚兴起的时候,数据索引是个大问题,当时Yahoo的分类页面着实火了一阵子. 2.随着互联网数据量越来越大,Google,百度等搜索引擎火了起来.这个阶段,几乎没有比搜索引擎更火的技术了,连 ...

  5. Ajax异步数据抓取

    1.简介 1 有时候我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样,在浏览 2 器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有.这是因为req ...

  6. 爬虫(爬虫原理与数据抓取)

    爬虫(爬虫原理与数据抓取) 通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重 ...

  7. 爬虫—01-爬虫原理与数据抓取

    爬虫的更多用途 12306抢票 网站上的头票 短信轰炸 关于Python网络爬虫,我们需要学习的有: Python基础语法学习(基础知识) 对HTML页面的内容抓取(数据抓取) 对HTML页面的数据提 ...

  8. Python学习笔记——爬虫原理与Requests数据抓取

    目录 为什么要做网络爬虫? 通用爬虫和聚焦爬虫 HTTP和HTTPS 客户端HTTP请求 请求方法 HTTP请求主要分为Get和Post两种方法 常用的请求报头 1. Host (主机和端口号) 2. ...

  9. python table数据抓取_Python爬虫:数据抓取工具及类库详解

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: ncepu_Chen PS:如有需要Python学习资料的小伙伴可以 ...

最新文章

  1. 没想到租房也要会编程?
  2. python之组合数据类型
  3. 基于深度学习的病毒检测技术无需沙箱环境,直接将样本文件转换为二维图片,进而应用改造后的卷积神经网络 Inception V4 进行训练和检测...
  4. mysql查询大量数据报错_mysql 查询大量数据报错
  5. 我的图床设置PicGo
  6. DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构
  7. python新手小案例_10个常见的Python小案例,推荐新手入门学习
  8. 选择分集matlab程序,瑞利衰落信道下采用MRC分集误码性能Matlab程序
  9. 贷款买车后,有多少人后悔了?
  10. 帆软报表重要Activator之DesignerInitActivator之四WestRegionContainerPane 设计器的左边部分文件列表以及数据集的部分
  11. 安全运营SOC Security Operations Center
  12. app icon在线生成
  13. win10家庭版破解lr11遇到的问题
  14. 腾讯实习网申到面试--小记
  15. 服务器如何安装虚拟声卡,虚拟声卡安装方法和使用【图文教程】
  16. walking机器人仿真教程-应用-多点导航结合睡眠功能实现智能取药
  17. 设计师需要什么证书及学历
  18. 学计算机用商务本还是游戏本,工作学习游戏?这 8 款最具性价比的笔记本电脑,总有一款适合你...
  19. C语言聊天室项目说明书
  20. 弘辽科技:拼多多关键词出价多少好?出价方法有哪些?

热门文章

  1. photoshop多选文字_60多个Photoshop文字效果教程
  2. Apple iPhone
  3. ZOHO:游刃于快时代的“慢公司”
  4. 小学三年级计算机室使用计划,关于三年级信息技术教学计划(精选6篇)
  5. Kotlin的协程:挂起函数
  6. WiFi网络测速专业版
  7. 易语言-通过快捷方式.lnk文件获取.exe源文件地址
  8. 信息摘要技术 - SHA系列
  9. 【优化求解】基于NSGAII算法求解含约束多目标优化问题matlab代码
  10. PCB电路板如何设计散热