抓取网页flash视频( 安卓模拟器禁止用于任何形式的商业用途,违者自行承担责任)

优采云 发布时间: 2021-10-23 10:14

  抓取网页flash视频(

安卓模拟器禁止用于任何形式的商业用途,违者自行承担责任)

  

  

  来源:Fiddler 截取 抖音video data_lx-CSDNblog_fiddler 抖音

  本文仅供参考,禁止用于任何形式的商业用途,违者自负。

  准备好工作了:

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

  (2),抓包工具:Fiddel 下载链接:()

  (3),编程工具:pycharm

  (4),安卓模拟器上安装抖音(逍遥安装模拟器)

  一、fiddler 配置

  在工具中的选项中,根据图勾选复选框,然后点击操作

  配置远程链接:

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

  然后:重新启动提琴手!!!该配置可以生效。

  二、安卓模拟器/手机配置

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

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

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

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

  设置好代理后,在浏览器中输入你设置的ip:端口,如10.10.16.194:8888,就会打开fiddler页面。然后点击fiddlerRoot证书安装证书,不然手机会认为环境不安全。

  证书名称随意设置,可能还需要设置锁屏密码。

  然后就可以在fiddler中抓取手机/模拟器软件包了。

  三、抖音 抓包

  打开抖音,观察fiddler中的所有包

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

  点击这个json包,在fdder右侧,点击decode,我们将解码视频包的json

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

  Json 是一本字典。我们的视频链接在:aweme_list。在每个视频下的video下的play_addr下的url_list中,一共有6个url,都是一模一样的视频。它们可能用于应对不同的环境,但一般第一个带有 3 或 4 个链接的 Video 不容易出现问题。复制链接并将其粘贴到浏览器中以查看视频。

  接下来解决几个问题,

  1、视频数量。每个包中只有很少的视频。怎么抢更多?

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

  2、如何将json保存到本地使用

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

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

  自定义规则包:

  提取码:7z0l

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

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

  (1) 第一行的网址:

  这是从视频包的 url 中提取的。抖音 会不定时更新这个url,所以如果不能使用就更新:

  比如现在的和昨天的不一样,记得修改。

  (2)路径,就是我设置json包保存的地址,一定要自己修改,并创建文件夹,修改后记得保存。

  打开并设置好模拟器和脚本后,稍等片刻,就可以看到文件夹中保存的包:

  四、爬虫脚本

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

  指南包:

  导入操作系统、json、请求

  迷彩头:

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

  逻辑代码:

  运行代码:

  影响:

  源代码:

  导入操作系统、json、请求

  #迷彩头

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

  video_list = os.listdir('C:/Users/HEXU/Desktop/抖音数据爬取/抖音爬取数据/raw_data/') #获取文件夹内所有json包名

  count = 1 #Count,用作视频名称

  对于videos_list中的视频:#循环json列表,对每个json包进行操作

  a = open('./抖音Crawl data/raw_data/{}'.format(videos),encoding='utf-8') #打开json包

  content = json.load(a)['aweme_list'] #移除json包中的所有视频

  对于内容中的视频:#loop 视频列表,选择每个视频

  video_url = video['video']['play_addr']['url_list'][4] #获取视频url,每个视频有6个url,我选第五个

  videoMp4 = requests.request('get',video_url,headers=headers).content #获取视频二进制码

  with open('./抖音Crawl data/VIDEO/{}.mp4'.format(count),'wb') as f: #以二进制方式写路径,记得先创建路径

  f.write(videoMp4) #write

  print('Video{}download complete'.format(count)) #download prompt

  计数 += 1 #计数 +1

  —————————————————

  版权声明:本文为CSDN博主“考古学家lx”的原创文章,遵循CC4.0 BY-SA版权协议,转载请附原出处链接及本声明转载。

  原文链接:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线