逆向案例五、爬取b站评论,表单MD5加密

1.便捷写爬虫网站:

Convert curl commands to code

使用流程:又点击想要抓的包,复制URL(base)格式复制

在上面链接中粘贴即可

2.找到含有评论的包(即main?oid):观察表单发现两处参数在变化,即wts和w_rid,且它们是加密的

遇到这这种,都是在下方serach框搜索关键参数w_rid

进入第一个js文件

 

在w_rid处打上断点,并下滑页面使之暂停,观察代码,wts由Ft.toString()得来,而Ft = Math.round(Date.now() / 1e3

这段代码是用来获取当前时间的 Unix 时间戳,并将其转换为秒数。具体解释如下:

  • Date.now(): 返回当前时间的毫秒数,是相对于 1970 年 1 月 1 日午夜(UTC 时间)的时间戳。
  • / 1e3: 将毫秒数转换为秒数,即除以 1000。
  • Math.round(): 对除以 1000后的秒数进行四舍五入,确保结果为整数。

因此,整体来说,Ft 变量的值表示了当前时间的 Unix 时间戳(秒数)。

用python实现:

import time

# 获取当前时间的 Unix 时间戳(秒数)
Ft = round(time.time())

分析w_rid,它有MD5加密得来,Wt经过实验,在控制台打印,是一个固定值

 

 

Jt由en变字符串处理而得来,打印一下,发现其与wts还有关系

 

再看,发现其就是由url表单变过来的:

 

代码实现:

import time
import hashlib
import requests
# 获得当前wts的函数
def get_w_rid(wts):
    MD5 = hashlib.md5()
    Jt = f'mode=3&oid=1651458406&pagination_str=%7B%22offset%22%3A%22%7B%5C%22type%5C%22%3A1%2C%5C%22direction%5C%22%3A1%2C%5C%22session_id%5C%22%3A%5C%221750756505440224%5C%22%2C%5C%22data%5C%22%3A%7B%7D%7D%22%7D&plat=1&type=1&web_location=1315875&wts={wts}ea1db124af3c7062474693fa704f4ff8'
    print(Jt)
    MD5.update(Jt.encode('utf-8'))
    return MD5.hexdigest()
wts = get_wts()
w_rid = get_w_rid(wts)
print(w_rid)
print(wts)

 输入对应的wts,上述代码返回的w_rid与表单一致

 

 

但注意的是,这些都是第一页往后的规律,第一页,Jt是什么样的我没办法得到,得不出第一页的w_rid,在第一页后的表单是这样的,

 

pagination_str是不变的,而其中session_id在第一页的数据中可以获取。 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/434334.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

protobuf 25.3在window的安装

1、下载地址 protobuf 25.3 下载完后,执行下面语句更新第三方库 git submodule update --init --recursive2、 cmake安装 注意:编译需要在vs2019及以上,因为abseil-cpp的编译需要是vs2019及以上

Nacos基础(注册中心和配置中心)

文章目录 参考文章一、 配置管理1、添加依赖2、添加配置信息3、创建例子4、在Nacos创建配置命名空间:配置集配置id配置组加载多配置文件 二、注册中心2.1、添加依赖2.2、添加项目Nacos配置2.3、添加服务发现注解这个时候你启动Nacos 如果遇到跳转链接失效请在评论区…

numpy——基础知识(创建/类型/形状/运算)(python)

简介 NumPy 是一个 Python 包。它代表 Numeric Python。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年&#…

2024年腾讯云发红包了,可用于抵扣订单金额,你们领了吗?

在2024年腾讯云新春采购节优惠活动上,可以领取新年惊喜红包,打开活动链接 https://curl.qcloud.com/oRMoSucP 会自动弹出红包领取窗口,如下图: 腾讯云2024新春采购节红包领取 如上图所示,点击“领”红包,每…

【DevSecOps】2024 年需要警惕的 10 大 Web 应用程序安全威胁

【DevSecOps】2024 年需要警惕的 10 大 Web 应用程序安全威胁 由于 2023 年出现了许多创新,我们之前所了解的许多内容都发生了巨大变化;随着其中一些重大变化,威胁格局也发生了转变,一些旧威胁减少了,一些新威胁增加了。 技术每天都在不断变化,当我们谈论技术和相关威胁…

Redis核心数据结构之SDS和链表(三)

SDS与C字符串的区别 二进制安全 C字符串中的字符必须符合某种编码(比如ASCII),并且除了字符串的末尾之外,字符串里面不能包含空字符,否则最先被程序读入的空字符将被误认为是字符串结尾,这些限制使得C字符串只能保存文本数据,而…

数据结构(七)——线性表的基本操作

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉 在csdn获奖荣誉: 🏆csdn城市之星2名 ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ …

Pytorch学习 day05(RandomCrop、Transforms工具使用总结)

RandomCrop 将PIL或Tensor格式的输入图片,随机裁剪指定尺寸的部分输入尺寸可以为序列或单个整形数字代码如下: from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriterimg Image.open("i…

CSS常见用法 以及JS基础语法

CSS简介 首先我们要明白css对网页的页面效果就类似于化妆的效果,使得页面更好看 我们需要明白的就是CSS怎么使用即可 首先CSS的基本语法是<style></style>标签来修改 基本语法规范是选择器n条选择规范 例如 <style>p{color : red;} </style> 这里就是将…

C#知识点-22(ADO.NET五个对象,SQL漏洞注入攻击)

ADO.NET 概念&#xff1a;ADO.NET就是一组类库&#xff0c;这组类库可以让我们通过程序的方式访问数据库&#xff0c;就像System.IO的类用类操作文件一样&#xff0c;System.Data这组类是用来操作数据库的&#xff08;不光是MSSql Server&#xff09;&#xff0c;它提供了统一…

Java精品项目--第5期基于SpringBoot的高速收费系统的设计分析与实现

项目使用技术栈 SpringBootMavenShiroMySQLMybatis-PlusJavaJDK1.8HTML 系统介绍 项目截图

java 中 string常用方法及相关的例子

我将为您详细讲解 Java 中 String 类的常用方法及其相关例子。String 类是 Java 中最常用的类之一&#xff0c;它代表字符串&#xff0c;提供了许多用于操作字符串的方法。 1. 字符串比较 - equals(Object obj): 比较字符串的内容是否相等。 - equalsIgnoreCase(String str): 比…

阿里云域名优惠口令2024年最新,com、cn和域名注册续费使用

2024年阿里云域名优惠口令&#xff0c;com域名续费优惠口令“com批量注册更享优惠”&#xff0c;cn域名续费优惠口令“cn注册多个价格更优”&#xff0c;cn域名注册优惠口令“互联网上的中国标识”&#xff0c;阿里云优惠口令是域名专属的优惠码&#xff0c;可用于域名注册、续…

堆以及堆的实现

文章目录 堆的概念堆的实现HeapPushHeapPop HeapTop HeapSize HeapEmpty堆的应用 堆的概念 堆是一颗完全二叉树每个结点的值都小于子结点的值&#xff0c;这颗二叉树为小根堆每个结点的值都大于子结点的值&#xff0c;这颗二叉树为大根堆堆的定义如下&#xff1a;n个元素的序列…

覆盖element-ui的el-menu样式记录:背景图片、菜单图标、菜单高亮与鼠标悬浮高亮、调整子菜单等样式

页面中修改el-menu 设置background-color"transparent"&#xff0c;menu菜单下的背景图片则能正常显示了 <el-menuclass"el-menu-demo"mode"horizontal"background-color"transparent"><el-menu-item index"1">…

Java开发进大厂面试必备技能,面试初级java工程师问题

前言 今天的分享主要是讲下这个 redis&#xff0c;什么是缓存雪崩、穿透和击穿。这三个技术问题是我们平时开发工作中和面试过程中&#xff0c;必须要会的知识点&#xff0c;因为目前的互联网系统没有几个不需要用到缓存的&#xff0c;只要用到缓存的话&#xff0c;就需要掌握…

Long-term Correlation Tracking LCT目标跟踪算法原理详解(个人学习笔记)

目录 1. 算法总览2. 算法详解2.1. 基础相关滤波跟踪2.2. 各模块详解2.2.1. 相关跟踪2.2.2. 在线检测器 3. 算法实现3.1. 算法步骤3.2. 实现细节 4. 相关讨论&总结 1. 算法总览 LCT的总体流程如上图所示&#xff0c;其思想为&#xff1a;将长时跟踪&#xff08;long-term tr…

C++进阶之路---继承(一)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、继承的概念及定义 1.继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0…

MM配置1-定义、复制、删除、检查工厂

配置步骤&#xff0c;如下图&#xff1a; 双击“复制&#xff0c;删除&#xff0c;检查工厂选项” 点击“复制”按钮&#xff0c;输入参考工厂&#xff0c;和要新建的工厂 复制完成后&#xff0c;返回到上一界面&#xff0c;双击“定义工厂”选项 选中新建的1070工厂&#xff0…

超简单Windows-kafka安装配置

参考大佬文章&#xff1a; Kafka&#xff08;Windows&#xff09;安装配置启动&#xff08;常见错误扫雷&#xff09;教程_kafka在windows上的安装、运行-CSDN博客Kafka&#xff08;Windows&#xff09;安装配置启动&#xff08;常见错误扫雷&#xff09;教程_kafka在windows上…