
本文仅供参考,禁止将其用于任何形式的商业用途,违者承担责任。
准备工作:
(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
国人素质差