Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  本文仅供参考,禁止用于任何商业目的。违者自负其责。   

  

  准备工作:   

  

  (1)手机(安卓和ios都有)/安卓模拟器,今天主要是安卓模拟器,操作流程一样。   

  

  https://www.telerik.com/download/fiddler   

  

  (3)编程工具:pycharm。   

  

  (4)在安卓模拟器(逍遥安装模拟器)上安装Tik Tok。   

  

  # 1.提琴手配置。   

  

  在工具的选项中,按图勾选后点击动作。   

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  配置远程链接:   

  

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

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  然后:重启提琴手!只有这样,配置才能生效。   

  

  # 2.安卓模拟器/手机配置。   

  

  先看这台机器的IP:在cmd中输入ipconfig,记住这个IP。   

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  确保手机和电脑在同一个局域网中。   

  

  手机配置:配置连接的WiFi,选择手动作为代理,然后输入上图中的ip端口号8888。   

  

  模拟器配置:在设置中按住连接的wifi,代理选择手动,然后输入上图中的ip端口号8888。   

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

     

  

  设置好代理后,输入您在浏览器中设置的ip: port,例如10.10.16.194: 8888,fiddler的页面就会打开。然后单击虚拟箭头。   

  

  证书安装证书,否则手机会认为环境不安全。   

  

  证书的名称是任意的,可能需要设置屏幕锁定密码。   

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  接下来,你可以在fiddler中捕获手机/模拟器软件的包。   

  

  #第三,Tik Tok抢过包。   

  

  打开Tik Tok,观察提琴手里的所有包裹。   

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

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

  

     

  Python Fiddler抓取并下载了Tik Tok小姐的视频/   

  

  单击fidder右侧的json包,然后单击Decode。我们将解码视频包的json。   

  

     

  蟒蛇提琴手爬上爬下。   

载抖音小姐姐视频' />   

解码后:点击aweme_list,其中每个大括号代表一个视频,这个和bilibili弹幕或者快手一样,每次加载一点出来,等你看完预加载的,再重新加载一些。

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

Json是一个字典,我们的视频链接在:aweme_list中,每个视频下的video下的play_addr下的url_list中,一共有6个url,是完全一样的视频,可能是为了应付不同环境,但是一般第3或4个链接的视频不容易出问题,复制链接,浏览器中粘贴就能看到视频了。

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

接下来解决几个问题,

  

1、视频数量,每个包中只有这么几个视频,那如何抓取更多呢?

  

这时候需要借助模拟器的模拟鼠标翻页,让模拟器一直翻页,这样就不断会出现json包了。

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

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

  

一种方法可以手动复制粘贴,但是这样很low。

  

所以我们使用fidder自带的脚本,在里面添加规则,当视频json包刷出来后自动保存json包。

  

自定义规则包:

  

链接:https://pan.baidu.com/s/1wmtUUMChzuSDZFYGSyUhCg

  

提取码:7z0l

  

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

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

这个脚本有两点需要修改的:

  

(1)第一行的网址:

  

这个是从视频包的url中摘出来的,抖音会时不时更新这个url,所以不能用了也要去更新:

  

比如现在的已经和昨天不同了,记着修改。

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

(2)路径,那个是我设置json包保存的地址,自己一定要去修改,并创建文件夹,修改完记着点保存。

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

打开设置好模拟器和脚本后,等待一会,就可以看到文件夹中保存的包了:

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

四、爬虫脚本

  

接下来在pycharm中写脚本获取json包里的视频链接:

  

导包:

  

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’}

  

逻辑代码:

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

运行代码:

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

效果:

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

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

  

本文来自精品专栏《爬虫案例合集》

  

  

Python+Fiddler 爬取并下载抖音小姐姐视频' />   

相关推荐