一、工具及下载:

(1)下载fiddler抓取包:配置fiddler,关闭防火墙:手机下载证书并信任。

(2)更改手机ip,手机没网,操作注册cmd进入管理员界面,输入regedit

参考链接:https://jingyan.baidu.com/article/e5c39bf5f4f8d439d760338e.html
(3)逍遥模拟器下载地址:http://soft.onlinedown.net/soft/266828.htm

(4)模拟器上下载fiddler证书:本电脑ip+fiddler上设置的端口
fiddler配置参考链接:https://www.cnblogs.com/woaixuexi9999/p/9247705.html

注意:下载证书时,fiddler一定要开启状态并配置好

下载完证书去模拟器的下载里找,然后进行操作,成功后fiddler可监控模拟器上面的请求

抖音下载后方可当手机一样使用:

(5)fiddler链接手机后谷歌浏览器报错:访问地址不安全:

参考链接:https://blog.csdn.net/qq_26916671/article/details/99412994
(6)在访问请求地址https://aweme-hl.snssdk.com/aweme/v1/aweme/post/?

在json中找到视频地址:


(7)mysql数据库。代码执行写入数据

二、fiddler中添加下载视频地址代码

在fiddler中添加下载视频代码:注意两点:
(1)get后面的路径要随时看进行更换
(2)下载的路径要在fiddler下面自己新建

 ###########判断地址可能有变动,需要自行修改if (oSession.uriContains("https://aweme-hl.snssdk.com/aweme/v1/aweme/post/")){var strBody=oSession.GetResponseBodyAsString();var sps = oSession.PathAndQuery.slice(-58,);//FiddlerObject.alert(sps)var filename = "C:\抖音视频资料" + "/" + sps + ".json"; #此路径新建创建var curDate = new Date(); var sw : System.IO.StreamWriter; if (System.IO.File.Exists(filename)){ sw = System.IO.File.AppendText(filename); sw.Write(strBody); } else{ sw = System.IO.File.CreateText(filename); sw.Write(strBody); } sw.Close(); sw.Dispose(); }

此段代码放到fiddler中的script的response中,如下图:添加好之后别忘记保存!!

三、python执行代码pycharm新建py文件

程序执行代码:

import os,json,requests
#伪装头
import pymysql
db_name = 'douyin'
db_user = 'root'
db_pass = '你自己的密码'
db_ip = 'localhost'
db_port = 3306
def main():'''解析json包,获取数据:return:'''headers = {#你自己浏览器的版本********************'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'}videos_list = os.listdir(r'C:\Users\liangxue\AppData\Local\Programs\Fiddler\抖音视频资料')  # 获取文件夹内所有json包名count = 1  # 计数,用来作为视频名字for videos in videos_list:  # 循环json列表,对每个json包进行操作a = open(r'C:\Users\liangxue\AppData\Local\Programs\Fiddler\抖音视频资料/{}'.format(videos), encoding='utf-8')  # 打开json包content = json.load(a)['aweme_list']  # 取出json包中所有视频print("content=========", content)for video in content:  # 循环视频列表,选取每个视频video_id=video['video']['play_addr']["uri"]print("作品id===",video_id)video_nickname = video["author"]["nickname"]print("昵称=====", video_nickname)video_thumb= video["music"]["cover_large"]["url_list"][0]print("封面", video_thumb)video_title= video["desc"]print("标题==========", video_title)video_url = video['video']['play_addr']['url_list'][0]#每个视频有几个地址,选其中一个print("视频链接地址=========", video_url, len(video_url))videoMp4 = requests.request('get', video_url, headers=headers).content  # 获取视频二进制代码sql = """ INSERT INTO douyin(video_url,video_title,video_nickname,video_thumb,video_id) VALUES(%s,%s,%s,%s,%s)"""data = (video_url, video_title,video_nickname,video_thumb,video_id)writemysql(sql, data)with open('./video_list/{}.mp4'.format(count), 'wb') as f:  # 以二进制方式写入路径,记住要先创建路径f.write(videoMp4)  # 写入print('视频{}下载完成'.format(count))  # 下载提示count += 1  # 计数+1
def writemysql(sql, db_data=()):'''数据库操作:param sql::param db_data::return:'''print("进入数据库操作")try:conn = pymysql.connect(db=db_name, user=db_user, passwd=db_pass, host=db_ip, port=int(db_port),charset="utf8mb4")cursor = conn.cursor()cursor.execute(sql, db_data)conn.commit()cursor.close()conn.close()except Exception as e:print("数据库写入失败=========", e)returnreturn Trueif __name__ == "__main__":main()

四、错误如何解决

错误:爬完一个人的作品,爬下一个的时候需要把json包删除再爬下一个(可能你不需要删除再爬取)如下图:

爬取结果展示:



播放效果:


写入数据库,数据库展示:

五、总结:

(1)抖音属于手机APP,电脑上没有办法直接得到访问路径请求,需要下载fiddler链接抓取包!
fiddler配置及下载信任证书并信任!
(2)下载模拟器,模拟手机操作抖音,fiddler实时监控模拟器上的动作,得到请求地址!
模拟器上下载fiddler证书并信任,模拟器上下载抖音,模仿手机操作,
!让抖音平台认为是用户手机浏览操作
(3)分享得到的地址中的josn数据包中的数据,找到自己想要的数据!
awenm_list----->{}----->video----->paly_addr----->url_list
(4)fiddler的scfipt中添加下载视频地址的代码!
注意四点:
1:get后面的路径要随时看进行更换
2:下载的路径要在fiddler下面自己新建
3:代码添加到response而不是request中
4:添加后一定要保存,关闭重启fiddler
(5)模拟器的抖音界面,进入某个用户的主页,浏览视频再执行pycharm中的代码方可下载视频
(6)爬取一个用户后报错json包的错,需要把文件删除再重新生成!(因人而异)
(7)视频有有效期,并非可永久使用!

拿走不谢,有更好的方法请分享给我,谢谢!
如有帮助请点赞支持,错误请指出,互相学习,谢谢!

逍遥模拟器配合fiddler爬取抖音视频!开源免费!相关推荐

  1. python爬取抖音用户数据_使用python爬取抖音视频列表信息

    如果看到特别感兴趣的抖音vlogger的视频,想全部dump下来,如何操作呢?下面介绍介绍如何使用python导出特定用户所有视频信息 抓包分析 Chrome Deveploer Tools Chro ...

  2. 抖音python上的代码视频_资深程序员:十行Python代码教你爬取抖音视频!

    环境说明 环境: python 3.7.1 centos 7.4 pip 10.0.1 部署 [root@localhost ~]# python3.7 --version Python 3.7.1 ...

  3. 使用python + Fiddler爬取抖音用户下所有视频

    1.下载Fiddler 2.设置fiddler_FiddlerScript 加入以下内容H:/baidu  为json数据保存的文件夹 3.打开你要下载的抖音用户详情页面,右上角三个点,分享主页,复制 ...

  4. 使用JS批量爬取抖音视频无水印链接

    目前抖音开放了网页版,可以直接通过打开链接就能观看视频,但是我们作为视频剪辑专业户,希望能批量下载视频. 我们以代古拉k作品主页为例,地址: https://www.douyin.com/user/M ...

  5. Python爬取抖音视频(没有水印的哟)

    使用更简单的方法 随便打开一个抖音个人主页,我选择的是爱奇艺体育,接着右键检查网页元素,点击network选项卡下的xhr选项,分析抓到的包 点到preview选项卡,点击video->down ...

  6. 海量分布式爬取抖音视频,几行代码搞定

    详情,请看 https://github.com/buptbf/DouYin-1

  7. Python爬取抖音app视频

    作者:哈库呐玛塔塔 来源:https://urlify.cn/ANzAre 记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitm ...

  8. 青灯教育python免费公开课_如何使用Python爬取抖音APP视频

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 假 ...

  9. 使用python爬取抖音app视频(appium可以操控手机)

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...

最新文章

  1. Flutter开发之MVC设计模式:新建文件与导入文件(八)
  2. Cosmos VS Palodat
  3. K8s 原生 Serverless 实践:ASK 与 Knative
  4. 中国油气装备行业发展状况与投资前景咨询报告2022-2028年版
  5. AndFix解析——(下)
  6. model里使用汉字页面崩掉
  7. 【译】Spring 4.0带来的@Conditional注解
  8. java怎么创建多个对象_java语言之创建多个对象
  9. EazyDraw for Mac(矢量图绘制软件)
  10. Gzip, Bzip2,Xz压缩
  11. SaaSBase:最适合小团队轻量级项目管理的软件——Tower
  12. 本地计算机 策略在哪xp系统,本地组策略编辑器在哪 打开组策略管理器方法
  13. Footprint Analytics: NEO 主网上线 5 年,现状如何?
  14. android 农历源码,android实现显示阳历和农历源码
  15. C#利用JScript自动计算字符串公式方法
  16. 阿里云:工厂车间是一个广阔的天地,在那里大有作为
  17. 物联网卡与普通的sim卡的区别
  18. C语言学习之选择结构程序设计总结
  19. 篇3:嵌入式系统和嵌入式操作系统
  20. 网络营销推广108招

热门文章

  1. SimpleMind安装步骤
  2. 主流的Web服务器有哪些
  3. 贪心策略:请你设计最优的安排会议日程表,以使得举行的会议数最多
  4. 802.11 协议介绍
  5. Angular之HelloWorld——Angular(1)
  6. Linux-编写SHELL 加密解密方法
  7. 走好每一步,基于C实现机器人运动学建模与标定、运动规划、轨迹规划算法
  8. 敲代码时如何快速移动光标_HTML网页代码大全
  9. 一键实现图像、视频卡通化,GAN又进化了
  10. 每日一句功能简单实现