教你如何使用Python下载抖音各大V视频 2022-10-28 03:57 294阅读 0赞 # **前言** # 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于Python七号 ,作者 somenzz **Python爬虫、数据分析、网站开发等案例教程视频免费在线观看** https://space.bilibili.com/523606542 # ![a2b6984089fbb14c9cf0ff607a09682a.png][] # 上次写了用 Python 批量下载知乎视频的方式,这次分享用 Python 批量下载抖音个人主页的全部无水印视频,本文重点不是提供一个好用的脚本,而是讲述如何写出这样的脚本,正所谓授人以鱼,不如授人以渔,所谓的爬虫,基本都是这个套路。 # **思路** # 先说下思路,要批量下载视频,可以先尝试成功下载一个,确定没有水印,然后在写一个循环进行批量下载。 难点:下载一个视频可能很简单,但下载多个就稍微有点复杂,需要抓取多个视频对应的 url,抖音这块做了防爬措施,只允许手机上看到个人主页的视频列表,电脑端的网页却看不到,这就需要抓取手机的 https 包,这里借助 Burpsuite 进行抓包。 ![154d429a240cc1c848d83956a2cd78b9.png][] 这里用到了 Burpsuite ,因此我把自己常用的 Burpsuite 2.1.06 专业版放在了网盘里面,公众号「Python七号」回复「burp」获取,下载后运行 start\_burp.bat 或 sh start\_burp.sh 即可一键启动,无需购买许可,非常方便。 # **爬取单个视频** # 1. 找一个抖音视频链接,点击分享,复制链接,在电脑上用打开,然后打开开发者工具,点击 network 选项。 2. 刷新,看接口,找到返回值里有播放地址的接口: ![016b6d8247635bc95f8d35575e9deb74.png][] 这里面有个 play\_addr,内部有个 urllist,我们复制这个 urllist\[0\] 在浏览器打开,网站跳转到了真正的播放地址,同时可以看到下载的按钮: ![3ebc487e6cdf49c6c0962cfe058e9c45.png][] 下载这个视频,发现是带水印的,如何下载到不带水印的视频呢?网上搜索了下,方法就是将上述 urllist\[0\] 中的 playwm 改成 play 就可以了。 然后开始写代码,获取这个 urllist\[0\],并下载 def get(share_url) -> dict: """ share_url -> 抖音视频分享url 返回格式 [{'url':'', 'title','format':'',},{}] """ data = [] headers = { 'accept': 'application/json', 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } api = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={item_id}" rep = requests.get(share_url, headers=headers, timeout=10) if rep.ok: # item_id item_id = re.findall(r'video/(\d+)', rep.url) if item_id: item_id = item_id[0] # video info rep = requests.get(api.format(item_id=item_id), headers=headers, timeout=10) if rep.ok and rep.json()["status_code"] == 0: info = rep.json()["item_list"][0] tmp = {} tmp["title"] = info["desc"] #去水印的视频链接 play_url = info["video"]["play_addr"]["url_list"][0].replace('playwm', 'play') tmp["url"] = play_url tmp["format"] = 'mp4' data.append(tmp) return data if __name__ =='__main__': videos = get('https://www.iesdouyin.com/share/video/6920538027345415431/?region=&mid=6920538030852885262&u_code=48&titleType=title&did=0&iid=0') for video in videos: downloader.download(video['url'],video['title'],video['format'],'./download') 这里 downloader.download 函数,与前文知乎视频下载 里的函数一样,这里就不贴代码了。 # **获取个人主页视频链接** # 前两步已经实现了单个抖音视频的无水印下载,现在我们要做的就是找到大量的这种链接,直接循环就可以了。 任意打开一个大 V 的个人主页,分享,复制链接,使用浏览器打开,一个视频也看不到,而使用抖音 App 就可以看到: ![7d59bade642c3d40f143db543fc23eee.png][] 浏览器 ![7b81778d71c477f97f1c23124c2ef2ec.png][] 抖音APP 说明抖音做了一定的限制,防止从浏览器看到多个视频的信息。这时就需要学会从手机 APP 来抓包,看看手机上的 http 请求是怎么发起的,然后使用程序来模拟。 我一直在用的 BurpSuite(下面简称 Burp) 非常好用,这里顺便分享下如何使用: **1、运行 Burp** 下载后运行 start\_burp.bat 或 sh start\_burp.sh 来启动 Burp,然后打开代理设置,绑定到运行 Burp 的机器 IP,如下图所示: ![b8ab54b6c43b1ff11408fe7d3f3599cb.png][] 注意不要设置 ip 为 127.0.0.1,这样设置的话,只有本地请求可以使用代理,手机无法连接此代理。 **2、手机设置代理** 手机与电脑连接同一 wifi,IPhone 的操作如下:然后进入设置-> 无线局域网 -> 点击同一 wifi 右边的 information 符号,然后下拉,点击配置代理,配置和 BurpSuite 一样的 ip 和端口。Android 的手机的设置也差不多。至此可以在 BurpSuite 上抓取手机的 http 流量。 **3、手机下载 Burp 的证书,并设置信任** 1. 手机浏览器 进入 http://burp。 2. 点击 CA 下载证书。 3. 设置->通用->描述文件->点击 PortSwigger CA->安装 4. 设置->通用->关于本机->证书信任设置,将 BurpSuite 的证书开启 这样就可以抓取手机上发起的 https 包了。 **4、设置 BurpSuite 中断** ![8ec3b44ee0b49b26adeefe8643c59286.png][] 这一步骤设置之后,手机上的请求会在这里阻塞,你可以放行选择放行,或修改数据包后放行,也可以发往 repeater,以便后续重放请求,因此来自前端的请求是不可信的。 现在打开手机上的抖音 App,这里便会出现大量的请求阻塞在这里,我们选择放行,会发现抖音 App 里的数据一步一步的出现。快刷到个人主页的视频之前,将请求发到 Repeater,如下图所示: ![19d346977fe6fbbf1653def8497bd234.png][] 然后打开 BurpSuite 的 Repeater 选项卡,就可以看到刚才发过来的请求,这时我们选择重放,看数据,决定我们需要使用的接口,如下图所示: ![ca651e603b942a5467cf9c969bdfb5a0.png][] 发现这个接口满足请求,这里可以看到接口的 url,headers 的各种参数,headers 中的 User-Agent 参数,是区分客户端是浏览器还是 App 的重要标识,因此就可以写代码来模拟请求,进而获取需要的批量下载链接。 由于 url 中的参数非常多,有些是固定不变的,有些随着不同人的主页参数会发生变化,如果仅仅是自己使用,可以简单的通过正则表达式来提取这些 url 链接,然后进行批量下载就可以了。 如果是想写好一个脚本供别人使用,那么就需要做更多的工作,比如说,需要查看更多的 api,以便确定 url 及 headers 中的参数是如何获取或生成的,然后写脚本自动化这一过程,有些情况下,还涉及到加密混淆等反爬措施,这里就不再展开了,请感兴趣的读者自行探索。 # **最后的话** # 爬取视频的关键在于找到视频的播放地址,有了播放地址,即使不写代码,也可以使用浏览器下载,寻找播放地址还不够,要考虑是否能去水印,如果要批量下载,那就要知道如何获取更多的视频链接,在浏览器抓取不到的时候,考虑使用 BurpSuite 抓取手机的流量包,进一步提取接口的数据,或模拟手机请求,对搞爬虫的同学,BurpSuite 是一个瑞士军刀,非常实用。 如果本文对你有所帮助,请点个赞或再看吧,谢谢支持。 [a2b6984089fbb14c9cf0ff607a09682a.png]: /images/20221024/d43fcf87498744f19c4237c790ffc6c4.png [154d429a240cc1c848d83956a2cd78b9.png]: /images/20221024/0163cb41fc484a2aa6f5801bc7d7a9f8.png [016b6d8247635bc95f8d35575e9deb74.png]: /images/20221024/58aa167d66f64255ba859b3109d6d7f9.png [3ebc487e6cdf49c6c0962cfe058e9c45.png]: /images/20221024/f5f3d3849b2c41619421fa85bf11f1db.png [7d59bade642c3d40f143db543fc23eee.png]: /images/20221024/2b4593ec4d254b3296881723b861597f.png [7b81778d71c477f97f1c23124c2ef2ec.png]: /images/20221024/18d889b34f9645788087b4e15e2f892d.png [b8ab54b6c43b1ff11408fe7d3f3599cb.png]: /images/20221024/d1dd4b2d8ae74968bcb23d716a258228.png [8ec3b44ee0b49b26adeefe8643c59286.png]: /images/20221024/a1ca0038a57b47cfa6bb295daf429d4d.png [19d346977fe6fbbf1653def8497bd234.png]: /images/20221024/99afbcd366c74e7299bfd9fa6aee56f1.png [ca651e603b942a5467cf9c969bdfb5a0.png]: /images/20221024/802fb30b257b48b1a2ee3ad451773507.png
相关 分析抖音大V视频,可视化显示数据,看看大家都喜欢哪些视频? 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于法纳斯特 ,作者小F ![db8c0b2d6ab50df 布满荆棘的人生/ 2022年12月23日 00:53/ 0 赞/ 289 阅读
相关 Python爬虫---爬取抖音等短视频 前言 最近一直想要写一个抖音爬虫来批量下载抖音的短视频,但是经过几天的摸索我发现了一个很严重的问题......抖音实在是难爬!从一开始的网页分析中就有着很多的坑,但是这几 ╰+哭是因爲堅強的太久メ/ 2022年12月17日 10:56/ 0 赞/ 376 阅读
相关 Python实现超简单【抖音】无水印视频批量下载 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:python乱炖 PS:如有需要P 短命女/ 2022年11月20日 11:56/ 0 赞/ 420 阅读
相关 Python分析5000+抖音大V,发现大家都喜欢这类视频! 击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 诸葛大名垂宇宙,宗臣遗像肃清高。 最近 缺乏、安全感/ 2022年11月14日 00:55/ 0 赞/ 132 阅读
相关 一篇文章教会你使用Python下载抖音无水印视频 今天小编要跟大家分享的是,利用Python如何下载抖音无水印的视频;大家可能要问了,这个有什么用呢?当然有用了。那么有什么用呢?下面小编跟大家详细说说。 众所周知,由于如今短 偏执的太偏执、/ 2022年11月05日 03:06/ 0 赞/ 393 阅读
相关 抖音快手视频爬取代码(源代码下载) \\有问题加QQ:1016401546(说明来意) 源代码下载: 链接:https://pan.baidu.com/s/12gFPgtci4BBBDrQDk3q8 「爱情、让人受尽委屈。」/ 2022年11月03日 04:22/ 0 赞/ 1896 阅读
相关 教你如何使用Python下载抖音各大V视频 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于Python七号 ,作者 somenzz P 你的名字/ 2022年10月28日 03:57/ 0 赞/ 295 阅读
相关 python爬取快手、抖音视频的评论 有需要的可以加QQ:1016401546 代码百度云下载: 链接:https://pan.baidu.com/s/1wkpdY7MVyciwAVtzHnisVQ 雨点打透心脏的1/2处/ 2022年10月14日 01:11/ 0 赞/ 3317 阅读
相关 用Python全自动下载抖音视频! 为什么写这篇文章,主要也是因为看了网易云课堂的一篇软广。 「用Python在抖音扒了这些高颜值女神后,突然成了人生赢家」,文中简述了一名工程师利用Python+ADB+ 刺骨的言语ヽ痛彻心扉/ 2022年02月02日 09:15/ 0 赞/ 626 阅读
相关 python3 抖音短视频链接去水印下载视频到本地 > 基于近段时间对抖音,快手,秒拍等视频抓取一直想搞一下。加了个QQ群,里面全是自媒体,就是抖音、快手、秒拍的视频搬运工,把一个平台搬到另外一个平台上,去除水印。降低被干掉的危 £神魔★判官ぃ/ 2021年09月15日 15:42/ 0 赞/ 584 阅读
还没有评论,来说两句吧...