最新版本:教您使用Python + Fiddler抓取并下载Douyin的视频

电脑杂谈  发布时间:2020-11-08 04:03:24  来源:网络整理

指尖浏览器网址你懂的_指尖浏览器网址你懂的

指尖浏览器网址你懂的

指尖浏览器网址你懂的

本文仅供参考,禁止将其用于任何形式的商业用途,违者承担责任。

准备工作:

(1)手机(可使用Android和ios)/ Android模拟器,今天主要是Android模拟器,操作过程相同。(2)数据包捕获工具:Fiddel下载地址:(3)编程工具:pycharm(4)在Android模拟器上安装豆阴(小药安装模拟器)一、提琴手配置

在工具的选项中,选中复选框,然后单击“操作”

指尖浏览器网址你懂的

配置远程链接:

选择允许监视远程链接,可以随意设置端口,只要不重复,默认为8888

指尖浏览器网址你懂的

然后:重新启动提琴手! ! !此配置才能生效。

二、Android模拟器/电话配置

首先检查计算机的IP:在cmd中输入ipconfig并记住该IP

指尖浏览器网址你懂的_指尖浏览器网址你懂的

指尖浏览器网址你懂的

确保手机和计算机位于同一局域网中。

手机配置:配置连接的WiFi,选择“ manual”作为代理,并在上图中输入ip端口号为8888

模拟器配置:在设置中,长按连接的wifi,选择“ manual”作为代理,然后在上图中输入ip端口号为8888

指尖浏览器网址你懂的

指尖浏览器网址你懂的

设置代理后,输入在浏览器中设置的ip:端口,例如10.10.16.194:8888,然后将打开提琴手页面。然后单击fiddlerRoot证书以安装证书,否则手机会认为环境不安全。

根据需要设置证书名称,您可能还需要设置锁定屏幕密码。

指尖浏览器网址你懂的

接下来,您可以在提琴手中获取手机/软件包。

三、斗音抓包

打开斗音并观察提琴手中的所有包裹

指尖浏览器网址你懂的

指尖浏览器网址你懂的_指尖浏览器网址你懂的

有一个包,包的类型为json(json是网页返回的数据,具体为百度),主机地址如图所示,包的大小一般不小,这就是视频包。

指尖浏览器网址你懂的

点击此json包,在右侧的右侧,点击解码,我们将解码视频包的json

指尖浏览器网址你懂的

解码后:单击aweme_list,其中每个大括号代表一个视频,这与bilibili弹幕或快手相同,每次加载一点,等待您阅读预加载的内容,然后重新加载一些内容。

指尖浏览器网址你懂的

Json是一本字典。我们的视频链接位于:aweme_list。在每个视频下面的视频下的play_addr下的url_list中,共有6个url,它们是完全相同的视频,可能要适应不同的环境。但是通常带有第三或第四链接的视频不容易出现问题。复制链接并将其粘贴到浏览器中以观看视频。

指尖浏览器网址你懂的

接下来要解决一些问题,

1、视频数。每个包装中只有很少的视频。如何获取更多?

这时,您需要使用模拟器的模拟鼠标来翻页,以便模拟器不断翻页,以便json包会不断出现。

指尖浏览器网址你懂的

2、如何在本地保存json以供使用

指尖浏览器网址你懂的_指尖浏览器网址你懂的

可以手动复制和粘贴一种方法,但这非常低。

因此,我们使用fidder随附的脚本,在其中添加规则,并在刷掉视频json包时自动保存json包。

自定义规则包:

提取代码:7z0l

单击规则脚本,然后将自定义规则放置在如图所示的位置:

指尖浏览器网址你懂的

此脚本中需要修改两件事:

([1)第一行的网址:

这是从视频包的网址中提取的。 Douyin会不时更新此网址,因此如果您无法使用它,请更新它:

例如,当前日期与昨天不同,因此请记住对其进行修改。

指尖浏览器网址你懂的

(2)路径,即我将json包设置为保存的地址,您必须自己对其进行修改,并创建一个文件夹,并记住在对其进行修改后将其保存。

指尖浏览器网址你懂的

指尖浏览器网址你懂的_指尖浏览器网址你懂的

打开并设置和脚本后,请稍等片刻,即可看到程序包保存在文件夹中:

指尖浏览器网址你懂的

四、搜寻器脚本

接下来,在pycharm中编写一个脚本以获取json包中的视频链接:

指南包:

导入os,json,请求

掩盖头

headers = {'User-Agent':'Mozilla /5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,like Gecko)Chrome / 7 [k37]0.3626.119 Safari / 537.36'}

逻辑代码:

指尖浏览器网址你懂的

运行代码:

指尖浏览器网址你懂的

效果:

指尖浏览器网址你懂的

 import os,json,requests    #伪装头    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'}
videos_list = os.listdir('C:/Users/HEXU/Desktop/抖音数据爬取/抖音爬取资料/raw_data/') #获取文件夹内所有json包名
count = 1 #计数,用来作为视频名字
for videos in videos_list: #循环json列表,对每个json包进行操作 a = open('./抖音爬取资料/raw_data/{}'.format(videos),encoding='utf-8') #打开json包 content = json.load(a)['aweme_list'] #取出json包中所有视频
for video in content: #循环视频列表,选取每个视频 video_url = video['video']['play_addr']['url_list'][4] #获取视频url,每个视频有6个url,我选的第5个 videoMp4 = requests.request('get',video_url,headers=headers).content #获取视频二进制代码 with open('./抖音爬取资料/VIDEO/{}.mp4'.format(count),'wb') as f: #以二进制方式写入路径,记住要先创建路径 f.write(videoMp4) #写入 print('视频{}下载完成'.format(count)) #下载提示 count += 1 #计数+1

本文来自精品专栏“爬行动物案例集”

指尖浏览器网址你懂的


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-331706-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...