真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)

众所周知,某音短视频是没有提供下载链接的,视频号也没下载链接,但我就想下载下来,还有视频下面的评论我也想拿到,那要肿么办呢?其实播放链接和评论是可以拿到的,我来细细道来

文章目录

      • 抓包
      • 技术提升
      • 获取评论
      • 安装证书
      • 设置代理

抓包

通过 mitmproxy 进行抓包

在 windows 上直接使用 pip 安装即可

我们先看效果,代理配置和证书安装放到最后,要不搞半天还在安装,很占篇幅

它是一个抓包工具,支持python脚本:

mitmdump -s test.py   #安装mitmproxy完就有mitmdump命令   

通过该抓包工具,可以获取所有链接。

链接是有特征的,比如

  • 某音视频链接一般匹配web.douyinvod.com

  • 微信视频号匹配video.qq.com

  • 某音视频下的评论匹配v1/web/comment/list

所以要下载哪个,替换 if 中的匹配条件就好了:

#匹配某音短视频的评论
import json
def response(flow):
    if 'v1/web/comment/list' in flow.request.url:
        for comment in json.loads(flow.response.text)['comments']:
            print('nice111',comment['text'])

我在某音发布了一个视频,一直想把它下载下来

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第1张图片

那就执行脚本

def response(flow):
    if 'web.douyinvod.com' in flow.request.url:
        print('nice111',flow.request.url)

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第2张图片

刷新视频,就会出现视频链接

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第3张图片

可以使用 you-get 下载,或者通过脚本把链接写入文件,刷一个视频,脚本就自动把链接存储好。

这样就下载到本地了:
真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第4张图片

视频下载方法同样如此,换个条件即可

技术提升

本文由技术群粉丝分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

获取评论

同理,换汤不换药,替换 if 条件

import json
def response(flow):
    if 'v1/web/comment/list' in flow.request.url:
        for comment in json.loads(flow.response.text)['comments']:
            print('nice111',comment['text'])

选择一个短视频,打开评论,出现数据

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第5张图片

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第6张图片

好了,剩下的就简单了,相信聪明的你们一定都会啦!

最后我们再介绍环境配置,证书安装和配置代理的内容

安装证书

pip 安装 MitmProxy 后,还不能拦截到数据,这是因为我们没有安装证书和打开对应的监听窗口。

windows 平台的证书其实在我们装 mitmproxy 的时候系统已经自动下载了。

安装路径在我们的 C:\Users\用户名\ .mitmproxy 下,p12 结尾的证书就是 windows 平台下的

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第7张图片

双击mitmproxy-ca.p12,进入证书导入向导。

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第8张图片

傻瓜式安装,下一步就行

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第9张图片

注意这里的密码填空就行了。

下一步将证书放入下列存储选项中,选择受信任的根证书颁发机构

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第10张图片

点击完成,证书就导入到当前用户\计算机的根证书存储里面了

设置代理

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第11张图片

打开代理,并且端口号为Proxy监听的端口号8080(手机端的安装配置与其类似),这时候重启mitmweb,可以看到下图所示,抓到本机发出的请求flow(流)了

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第12张图片

真香啊,这招可以轻松抓取某音短视频数据(附 Python 代码)_第13张图片

你可能感兴趣的:(python,python,开发语言)