逍遥模拟器配合fiddler爬取抖音视频!开源免费!
一、工具及下载:
(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爬取抖音视频!开源免费!相关推荐
- python爬取抖音用户数据_使用python爬取抖音视频列表信息
如果看到特别感兴趣的抖音vlogger的视频,想全部dump下来,如何操作呢?下面介绍介绍如何使用python导出特定用户所有视频信息 抓包分析 Chrome Deveploer Tools Chro ...
- 抖音python上的代码视频_资深程序员:十行Python代码教你爬取抖音视频!
环境说明 环境: python 3.7.1 centos 7.4 pip 10.0.1 部署 [root@localhost ~]# python3.7 --version Python 3.7.1 ...
- 使用python + Fiddler爬取抖音用户下所有视频
1.下载Fiddler 2.设置fiddler_FiddlerScript 加入以下内容H:/baidu 为json数据保存的文件夹 3.打开你要下载的抖音用户详情页面,右上角三个点,分享主页,复制 ...
- 使用JS批量爬取抖音视频无水印链接
目前抖音开放了网页版,可以直接通过打开链接就能观看视频,但是我们作为视频剪辑专业户,希望能批量下载视频. 我们以代古拉k作品主页为例,地址: https://www.douyin.com/user/M ...
- Python爬取抖音视频(没有水印的哟)
使用更简单的方法 随便打开一个抖音个人主页,我选择的是爱奇艺体育,接着右键检查网页元素,点击network选项卡下的xhr选项,分析抓到的包 点到preview选项卡,点击video->down ...
- 海量分布式爬取抖音视频,几行代码搞定
详情,请看 https://github.com/buptbf/DouYin-1
- Python爬取抖音app视频
作者:哈库呐玛塔塔 来源:https://urlify.cn/ANzAre 记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitm ...
- 青灯教育python免费公开课_如何使用Python爬取抖音APP视频
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 假 ...
- 使用python爬取抖音app视频(appium可以操控手机)
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...
最新文章
- Flutter开发之MVC设计模式:新建文件与导入文件(八)
- Cosmos VS Palodat
- K8s 原生 Serverless 实践:ASK 与 Knative
- 中国油气装备行业发展状况与投资前景咨询报告2022-2028年版
- AndFix解析——(下)
- model里使用汉字页面崩掉
- 【译】Spring 4.0带来的@Conditional注解
- java怎么创建多个对象_java语言之创建多个对象
- EazyDraw for Mac(矢量图绘制软件)
- Gzip, Bzip2,Xz压缩
- SaaSBase:最适合小团队轻量级项目管理的软件——Tower
- 本地计算机 策略在哪xp系统,本地组策略编辑器在哪 打开组策略管理器方法
- Footprint Analytics: NEO 主网上线 5 年,现状如何?
- android 农历源码,android实现显示阳历和农历源码
- C#利用JScript自动计算字符串公式方法
- 阿里云:工厂车间是一个广阔的天地,在那里大有作为
- 物联网卡与普通的sim卡的区别
- C语言学习之选择结构程序设计总结
- 篇3:嵌入式系统和嵌入式操作系统
- 网络营销推广108招