准备工作:
(1)、手机(安卓、ios都可以)/安卓模拟器,今天主要以安卓模拟器为主,操作过程一致。
(2)、抓包工具:Fiddel 下载地址:(https://www.telerik.com/download/fiddler )
(3)、编程工具:pycharm
(4)、安卓模拟器/手机安装上抖音
一、fiddler配置
在tools中的options中,按照图中勾选后点击Actions
二、安卓模拟器/手机配置
首先查看本机的IP:在cmd中输入ipconfig,记住这个IP
证书名称随便设,可能还需要设置一个锁屏密码。
一种方法可以手动复制粘贴,但是这样很low。
所以我们使用fidder自带的脚本,在里面添加规则,当视频json包刷出来后自动保存json包。
自定义规则包:
链接:https://pan.baidu.com/s/1wmtUUMChzuSDZFYGSyUhCg
点击规则脚本,然后将自定义规则放在如图所示位置:
接下来在pycharm中写脚本获取json包里的视频链接:
导包:
import os,json,requests
伪装头:(f12获取,具体怎么获取的参考上一篇爬虫图文)
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’}
逻辑代码:
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
联系客服