Python获取抖音视频链接

所需软件

  1. 手机模拟器,下面以安卓模拟器(雷电模拟器)为例,下载地址: 官网
  2. Fiddler抓包工具,下载地址: 官网
  3. 编程工具,PyCharm,下载地址: 官网安装教程
  4. xposedinstaller.apk 下载地址: 官网,如果手机安卓版本在 5.0 或更高版本,那么就到这个链接下载,后者的真实下载链接,可以直接点击下载。
  5. JustTrustMe.apk,Xposed+JustTrustMe两者配合,来关闭SSL证书验证

Fiddler配置

  1. Tools -> Options -> HTTPS : 勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS trafic ,会弹出安装证书的提示。一路点是或确定安装即可,勾选Ignore server certificate errors(unsafe)在这里插入图片描述
  2. Tools -> Options -> Connections : 勾选 Allow remote computers to connect (不勾选这个,手机会出现没有网络。) Fiddler listens on port 默认8888,端口号也可以更改 我写的是8889
  3. 重启fiddler,依然停留在 HTTPS 选项卡,点击右侧Actions,能看一个下拉菜单,点击 Export Root Certificate to Desktop,此时证书会生成到桌面上,名为 FiddlerRoot.cer,点OK保存
    在这里插入图片描述

模拟器配置

  1. xposedinstaller.apk 拖入雷电模拟器安装,点击Install之后,重启模拟器,再将JustTrustMe.apk拖入安装,在xposedinstaller模块中,勾选JustTrustMe模块

  2. 查看本机的IP地址,cmd中输入ipconfig,记下这个IP地址
    在这里插入图片描述

  3. 确保模拟器和电脑在同一个网络下,有线网络或wifi均可

  4. 模拟器配置:设置-> 长按已连接网络,代理选择手动,输入代理服务器主机名(本机IP地址),输入Fiddler中的端口号8889(你自己设置的那个端口号)

  5. 安装证书有两种方式:

    1. 代理设置好后,在浏览器输入https://IP地址:端口号,如:https:// 192.168.1.191:8889,打开Fiddler页面,点击fiddlerRoot certificate安装证书,证书名称随意起,可能还需要设置一个锁屏密码
    2. 将桌面生成的 FiddlerRoot.cer 证书,雷电模拟器右侧 更多 -> 文件共享 (会打开手机内存文件夹,直接将证书复制进来即可),发送到手机内存。
      在这里插入图片描述

抓包

  1. Fiddler中开启解码decode操作在这里插入图片描述
  2. 打开抖音,Fiddler,观察Fiddler中抓到的包。选择包类型为 json 的包,包的大小偏大,这个就是视频包。在Fiddler右侧,选择json,观察到aweme_list中的aweme_id,这便是分享链接的后半段字符https://www.iesdouyin.com/share/video/6824336555822370056https://www.iesdouyin.com/share/video/+aweme_id
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 将Fiddler中的数据包导出来,导出json格式文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Python提取数据

在这里插入图片描述
在这里插入图片描述

import os
import json

url_list = []#空列表,用来存储每个视频链接
json_list = os.listdir(r'C:\Users\MSYU\Desktop\Dump-0107-14-06-54\aweme.snssdk.com\aweme\v1\aweme\post')#获取路径下面的文件名单
count = 0#计数,用来计算一共有多少个视频链接
for json_every in json_list:#循环名单下的每个json文件
    json_open = open(r'C:\Users\MSYU\Desktop\Dump-0107-14-06-54\aweme.snssdk.com\aweme\v1\aweme\post\{}'.format(json_every),encoding='utf-8')#打开json文件
    json_py = json.load(json_open)#将json对象转换为python对象

    for id in json_py['aweme_list']:
        aweme_id = id['aweme_id']#获取到字典中aweme_id对应的ID字符串数字
        share_url = 'https://www.iesdouyin.com/share/video/{}'.format(aweme_id)#拼接成抖音视频分享链接
        url_list.append(share_url)#将每个链接添加到列表中
        count += 1

with open(r'C:\Users\MSYU\Desktop\douyin.txt', 'w') as f:#新建一个douyin.txt文本
    for url_every in url_list:
        f.writelines(url_every + '\n')#将列表中的单个元素,写入到文本中,注意每行后面加个换行符
    print('视频{}下载完成'.format(count))
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值