首页 > 编程语言 >Python爬虫:抖音 JS XB逆向解析

Python爬虫:抖音 JS XB逆向解析

时间:2023-10-16 15:36:24浏览次数:41  
标签:Python list JS XB aweme version url requests

哈喽兄弟们,抖音现在有JS加密,以前的方法爬不了饿了,今天来实现一下某音短视频的JS逆向解析。


知识点

动态数据抓包`在这里插入代码片`
requests发送请求
X-Bogus 参数逆向

环境模块

python 3.8               运行代码
pycharm 2022.3           辅助敲代码
requests                 pip install requests 安装

源码

获取数据部分

import requests
import execjs
 
 
ctx = execjs.compile(open('xb.js', mode='r', encoding='utf-8').read())
headers = {
    'referer': 'https://www.douyin.com/user/MS4wLjABAAAAqsOmrExIsJbZ2b0QLzytzAhAFbJUROH72_yVYM7Zq8E?vid=7273024102460362047',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
}
arg1 = 'device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id=MS4wLjABAAAAqsOmrExIsJbZ2b0QLzytzAhAFbJUROH72_yVYM7Zq8E&max_cursor=1690869936000&locate_item_id=7273024102460362047&locate_query=false&show_live_replay_strategy=1&need_time_list=1&time_list_query=0&count=18&publish_video_strategy_type=2&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=116.0.0.0&browser_online=true&engine_name=Blink&engine_version=116.0.0.0&os_name=Windows&os_version=10&cpu_core_num=6&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=0&webid=7206570248416773684&msToken=kuJ7VXEum5t8MRJsb-EWiKneHuMabLt_Xmvzqjv7Tl92qzTPYaHkfIMCn9ndAkA39d7QfcI57AU353tQuNpAnxbsgxSEXN6KR4Du5bRKUrivq2hBvPiEPaFyW0xyaMc='
url = 'https://www.douyin.com/aweme/v1/web/aweme/post/?'
xb = arg1 + '&X-Bogus=' + ctx.call('window.siyue111', arg1)
url += xb
print(url)
response = requests.get(url, headers=headers)
json_data = response.json()
aweme_list = json_data['aweme_list']
for aweme in aweme_list:
    desc = aweme['desc']
    video_url = aweme['video']['play_addr']['url_list'][0]
    # JS解密部分太长了,我直接打包了,还录制了详细讲解的视频。
    # 都放在这个扣裙了 592539176
    print(desc, video_url)

 

JS解密部分太长了,我直接打包了,还录制了详细讲解的视频。


好了,今天的分享就到这里结束了,下次见!

标签:Python,list,JS,XB,aweme,version,url,requests
From: https://www.cnblogs.com/hahaa/p/17760400.html

相关文章

  • 2023年10月最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojs
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • Python处理Request请求
    一、HTTP知识:request请求方式有GET/POST/PUT/PATCH/DELETE/COPY/HEAD/OPTIONS/LINK/VIEW等常用的request请求有:get和post两种形式。1.GET用于获取资源,当采用GET方式请求指定资源时,被访问的资源经服务器解析后立即返回响应内容。通常以GET方式请求特定资源时,请求中不应该......
  • python封装https请求
    importhttp.clientimportjsonclassHTTPS_Connection:def__init__(self,res_type,body,url,api_path,headers):self.res_type=res_type#接口请求类型self.body=body#请求参数self.url=url#请求服务地址......
  • JS 实现模拟键盘事件
    //获取事件需要绑定的节点varinp=document.getElementById('id')//创建初始化event事件varevent=newKeyboardEvent("keyup",{which:13,keyCode:13,key:'Enter',code:'Enter'});//执行inp.dispatchEvent(event) 参考:https://develo......
  • JS小应用
    JS访问列表内容思路:1.获取对象数组以后,以超链接显示。对应id放在链接方法的参数里。2.点击链接以后,先把id存在session里,再跳转到显示内容页面。3.在显示内容页面,读取id,之后就简单了。请求资源,显示内容。列表页面,index.html: <!DOCTYPEhtml><html><head><m......
  • 【前端开发】可视化大屏网页适配方案autofit.js
    说明:针对全屏的网页,使用autofit.js可自适应大小屏幕,原理是通过屏幕改变放大/缩小网页,并做了留白区域的兼容处理。 地址:https://github.com/huiJeck/autofit.js#autofitjs......
  • JS基础篇(一些记录)
    JS一些问题记录1.switch,break后只会退出switch本身用于防止穿透,外层比如for不会退出,ifbreak的话就会退出整个循环2.三元运算符用于比较简单的两个东西之间的比较,也不能输出打印出来,但是if双分支就可以3.同一个页面两个for,都用i不会冲突,是两个局部变量不会影响4.for里面嵌套for......
  • python准备工作
    准备工作导学:为什么学python?python1.简洁高效2.应用场景丰富 人生苦短,我用python Python语言基础入门什么是编程语言?用于与人类和计算机进行交流的一种语言,通过编写编程语言的代码,去指挥计算机工作。python的安装安装完验证: 我的第一个程序  Pythoncharm......
  • 树叶识别系统python+Django网页界面+TensorFlow+算法模型+数据集+图像识别分类
    一、介绍树叶识别系统。使用Python作为主要编程语言开发,通过收集常见的6中树叶('广玉兰','杜鹃','梧桐','樟叶','芭蕉','银杏')图片作为数据集,然后使用TensorFlow搭建ResNet50算法网络模型,通过对数据集进行处理后进行模型迭代训练,得到一个识别精度较高的H5模型文件。并基于Dja......
  • 如果我有jQuery背景,是否应该学习AngularJS?
    内容来自DOChttps://q.houxu6.top/?s=如果我有jQuery背景,是否应该学习AngularJS?假设我熟悉在jQuery上开发客户端应用程序,但现在我想开始使用AngularJS。你能描述一下必要的范式转变吗?以下是一些问题,可能有助于你回答:我如何以不同的方式架构和设计客户端Web应用程序?最大的区......