抖音各加密参数说明和获取(含代码)

​X-Bogus:X-Bogus是一种防数据包伪造的一个参数, 又称为x伪造,主要用于反爬虫,这个是某节公司下面基础服务,这个反爬虫机制几乎用在了它所有的产品中,不过,只要是能正常使用,这些东西都是透明的,X-Bogus生成算法。

获取方法参考某大佬文章:【爬虫实战】使用Python和JS逆向抖音X-Bogus参数获取N条视频-CSDN博客

msToken:msToken可以理解成Message Token,相当于每次消息请求的令牌,主要用于请求统计,这也是具有反爬虫的机制,如果相同msToken请求太多,也会被定义成恶意请求,这时候会出现验证码校验。所以我们在使用的时候,可以用uuid或者是雪花算法的id来模拟msToken,当然长度大于32位的唯一串最好
获取方法如下:

    def get_ms_token(self, randomlength=107):"""根据传入长度产生随机字符串"""random_str = ''base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789='length = len(base_str) - 1for _ in range(randomlength):random_str += base_str[random.randint(0, length)]return random_str


 

__signature:signature是签名,主要是防止数据传输的过程中,“中间人”对数据进行串改。签名一般都是公钥加密,私钥验签。参与签名的参数有url地址中的参数,还有post请求中的内容,也会参与签名。signature主要用于post或者put表单的时候进行使用,其他情况暂时未遇到。

获取方法参考某大佬文章

某音签名jsvmp还原__ac_signature-CSDN博客

__ac_nonce:临时加密参数,用于与_signature一起使用

ttwid:ttwid类似客户端id,即便是游客模式,也可以对页面数据进行埋点统计,通过收集ttwid下的用户行为数据,给与内容推荐和广告推荐。这个也是某节公司下的基础服务,所以生成的id,只要是某节下的服务都可以使用



webid:同ttwid,类似客户端id,也可以说是浏览器id,不过ttwid可在cookie获取,webid可在随意一个视频请求,返回的html文本的script里再通过正则获取

ttwid和webid获取方法:(js代码就在如上:某音签名jsvmp还原__ac_signature-CSDN博客,自己抄,因为怕版权问题就不复制了)

    def get_ttwid_webid(self, req_url):"""获取 ttwid 和 webid:param req_url:请求的视频地址:return:"""try:response = requests.request("GET", req_url, headers=self.ttwid_webid_headers, verify=False, timeout=3)cookies_dict = response.cookies.get_dict()ac_nonce = cookies_dict.get('__ac_nonce')if(ac_nonce):ac_signature = execjs.compile(open(self.ac_sign_js_path).read()).call('func1', req_url, self.user_agent,ac_nonce)ttwid_webid_headers1 = copy.deepcopy(self.ttwid_webid_headers)ttwid_webid_headers1['Referer'] = req_urlttwid_webid_headers1['Cookie'] = f'__ac_nonce={ac_nonce}; __ac_signature={ac_signature}; __ac_referer=__ac_blank'response = requests.request("GET", req_url, headers=ttwid_webid_headers1, verify=False, timeout=3)if (("/captcha/index.js" in response.text) or ("Please wait...</body>" in response.text)):print("跳出验证码,暂停爬取")time.sleep(5)return self.get_ttwid_webid(req_url)else:render_data_text = \re.compile('\<script id=\"RENDER_DATA\" type\=\"application\/json\">(.*?)\<\/script\>').findall(response.text)[0]render_data_text = requests.utils.unquote(render_data_text)render_data_json = json.loads(render_data_text, strict=False)webid = render_data_json.get('app').get('odin').get('user_unique_id')cookies_dict = response.cookies.get_dict()ttwid_str = cookies_dict.get('ttwid')return ttwid_str, webidexcept (requests.exceptions.ProxyError, requests.exceptions.ReadTimeout,requests.exceptions.ConnectionError) as e:logging.error(e)time.sleep(5)return self.get_ttwid_webid(req_url)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Non EC

今天在填一个表单时&#xff0c;里面有个Non EC的选项&#xff0c;不解其意。原来是欧盟成员国国民的意思&#xff0c;因为欧盟法规各方面比较严厉&#xff0c;所以会单列出来&#xff0c;作为一个条件。 互联网查询结果如下&#xff1a; Non-EC是指非欧盟&#xff08;EU&#…

PHP基础 - 常量字符串

常量 在PHP中,常量是一个简单值的标识符,定义后默认是全局变量,可以在整个运行的脚本的任何地方使用。常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。 PHP中定义常量的方式是使用define()函数,其语法如下: bool define( string $name, mixed $value [,…

使用人工智能优化常见业务流程

在现代商业环境中&#xff0c;人工智能(AI)正在改变企业的运营方式。将人工智能集成到业务流程中可以提高效率和准确性&#xff0c;从而节省大量时间和成本。 这使员工能够专注于更具战略性的任务。人工智能在商业中的应用范围从自动化日常任务到提供高级分析&#xff0c;以做…

【mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar安装】linux安装mysql5.7

之前安装的时候遇到了很多问题&#xff0c;浪费了一些时间。整理出这份教程&#xff0c;照着做基本一遍过。 这是安装包: 链接&#xff1a;https://pan.baidu.com/s/1gBuQBjA4R5qRYZKPKN3uXw?pwd1nuz 1.下载安装包&#xff0c;上传到linux。我这里就放到downloads目录下面…

邮政快递单号查询入口,删除不需要的单号

批量查询邮政快递单号的物流信息&#xff0c;并删除不需要的单号。 所需工具&#xff1a; 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;第一次使用的伙伴记得先注册&#xff0c;然后登录…

SimpleSQL

游戏和应用中的SQL集成 simpleSQL可将数据库存储集成到您的游戏或项目中。创建水平地图链接,存储球员的统计资料,保持库存规格,以及更多! 请注意,simpleSQL是本地数据库解决方案,不能连接到服务器数据库 将SQLite数据库附加到场景中的管理器 无需移动移动设备上的文件! 使…

LeetCode力扣每日一题(Java):20、有效的括号

一、题目 二、解题思路 1、我的思路 我看到题目之后&#xff0c;想着这可能是力扣里唯一一道我能秒杀的题目了 于是一波操作猛如虎写出了如下代码 public boolean isValid(String s) {char[] c s.toCharArray();for(int i0;i<c.length;i){switch (c[i]){case (:if(c[i]…

玩法题材创新的跑酷游戏,广告变现不止带来收益 | TopOn变现干货

跑酷游戏是一类永不落伍的游戏。从远古的红白机到现代的PC、手机&#xff0c;经典作品层出不穷&#xff0c;而提起手机端的跑酷游戏&#xff0c;相信大部分玩家脑海里的第一印象便是《神庙逃亡》和《地铁跑酷》这两款经典游戏&#xff0c;在上蹿下跳、左右挪移间躲避障碍&#…

2023年12月7日:QT实现登陆界面

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口设置this->resize(600,500);//重新设置窗口大小this->setWindowTitle("QQ-盗版");//设置窗口名为QQ-盗版this->setWindowIcon(QIcon("D:\\Qt\\funny\\pi…

VOS3000 在安装AXB时需要几个步骤

安装 VOS3000 AXB 模板需要按照以下步骤进行操作&#xff1a; 首先&#xff0c;确保你已经在服务器上安装了 CentOS 或者其他 Linux 操作系统&#xff0c;并且已经完成了基本的系统设置和网络配置。 下载 VOS3000 软件包&#xff0c;并解压缩到服务器上的指定目录中。 进入…

[虚拟机]使用VM打开虚拟机电脑重启解决方案。

问题&#xff1a;打开虚拟机点击启动后&#xff0c;电脑会自动重启。&#xff08;WINDOWS10 20版本&#xff09; 解决步骤&#xff1a; 1、对Windows功能进行操作。 上图三个启用。 上图一个取消。 再次打开后&#xff0c;不报警&#xff0c;显示下图问题&#xff1a; 继续解…

直流电和交流电

直流电&#xff08;Direct Current&#xff0c;简称DC&#xff09;和交流电&#xff08;Alternating Current&#xff0c;简称AC&#xff09;是电流的两种基本形式。 1. 直流电 直流电是指电流方向始终保持不变的电流。在直流电中&#xff0c;电子只能沿着一个方向移动。直流电…

采集数据更快捷,轻松生成调查问卷二维码

现在用二维码的方式来采集用户的数据&#xff0c;是现在很常用的一种统计数据的手段&#xff0c;这种方法更加简单快捷做好数据统计&#xff0c;那么表单类型的二维码能如何快速生成呢&#xff1f;下面来教大家在线二维码生成器的使用方法&#xff0c;能够用简单的步骤快速制作…

050:vue项目webpack打包,大文件分成几个小文件的方法

第050个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

flask之文件上传

1、创建表单提交页面&#xff0c;如&#xff1a;upload.html <html> <head><title>File Upload</title> </head> <body><form action"http://localhost:8888/uploadfile" method"POST" enctype"multipart/fo…

自定义类型详解(1)

文章目录 目录1. 结构体1.1 结构的基础知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 3. 枚举3.1 枚举类型…

linux向日葵开机自启动

有个服务需要先开启: sudo systemctl start runsunloginclient.service 开机自启动服务: sudo systemctl enable runsunloginclient.service 然后再启动就可以了 sudo systemctl status runsunloginclient.service 开机自启后进行检查service服务状态 开发板ubuntu系统上如…

虾皮选品:如何在虾皮平台上进行选品以提高销售额和利润

在虾皮&#xff08;Shopee&#xff09;平台上进行选品时&#xff0c;可以遵循以下策略和技巧&#xff0c;以便找到有潜力的产品并提高销售额。 先给大家推荐一款shopee知虾数据运营工具 知虾免费体验地址&#xff08;复制浏览器打开&#xff09;&#xff1a;d.ddqbt.com/JU5o …

Java并发(二)

一、并发编程三要素 1、原子性 原子性指的是一个或者多个操作&#xff0c;要么全部执行并且在执行的过程中不被其他操作打断&#xff0c;要么就全部都不执行。 2、可见性 可见性指多个线程操作一个共享变量时&#xff0c;其中一个线程对变量进行修改后&#xff0c;其他线程可以…

亚信安慧通过ISO20000认证,AntDB数据库团队服务能力再上新台阶

近日&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称“亚信安慧”&#xff09;获得《信息安全管理服务管理体系认证证书》&#xff0c;标志着公司已建立起一套与国际对标的IT系统管理体系&#xff0c;在信息技术服务能力上取得了新的里程碑。 图1 亚信安慧通过ISO20000认…