用Python全自动下载抖音视频!

article/2025/9/21 16:02:24

为什么写这篇文章,主要也是因为看了网易云课堂的一篇软广。

 

「用Python在抖音扒了这些高颜值女神后,突然成了人生赢家」,文中简述了一名工程师利用Python+ADB+鹅厂的AI,一晚上关注了一千多个漂亮小姐姐。

 

充分体现了厂子里的大学生和工人们的不同,这里我不得不说一声×××牛皮...

 

曾经的我也独自一人在那个诺大的工厂思考人生,思考着我该何去何从。

 

 

记得那时我也靠着刷抖音,度过那段煎熬的日子。

 

只不过没有上面那位大佬那么厉害而已,我是人工识别漂亮的小姐姐...

 

即使现在的我也注册了鹅厂的AI账号,可我还是不会用。

 

那么就先来点简单的,提前关注好,然后利用Python实现自动化下载街拍视频!!!

 

 

/ 01 / Charles

 

用Charles来找视频的API接口,具体操作和之前当当网那个案例一样,不细说。

 

 

这里通过滑动抖音App,可以获取到视频的请求信息。

 

通过多次实验,发现链接的后面是会不停的改变,只有链接的前头始终不变,即「http://v1-dy」「http://v6-dy」「http://v9-dy」不变。

 

所以在写脚本的时候,可以以这些信息做为链接开头。

 

 

/ 02 / mitmproxy

 

利用mitmproxy中的mitmdump组件,对接Python脚本,用Python实现监听后的处理。

 

 

这里我只是利用脚本获取链接,并没有直接利用脚本下载视频。

 

因为我是在mitmdump.exe文件所在的文件夹运行脚本,脚本里导入不了requests模块。

 

不想搞那些烦人的环境变量,所以只获取链接。

 

然后再去下载视频,视频链接需要去重,可能会有重复的。

 

Python脚本如下。

 

 

 

def response(flow):
    urls = ['http://v1-dy', 'http://v3-dy', 'http://v6-dy', 'http://v9-dy']
    # 对url进行筛选,只选取视频的url
    for url in urls:
        if url in flow.request.url:
            print('\n\n抖音视频\n\n')
            with open('douyin.csv', 'a+', encoding='utf-8-sig') as f:
                f.write(flow.request.url + '\n')

 

 

 

/ 03 / Appium

 

配置抖音的Appium参数。

 

 

点击蓝色按钮,手机自动启动抖音App!

 

接下来操作手机,然后点击Appium的刷新键,获取元素定位代码。

 

通过本次的实践发现Appium有时并不能很好的获取元素的定位,这可能就跟Web端的iframe页面一样。

 

所以针对找不到的元素,我直接对手机屏幕位置进行点击。

 

由于大家手机屏幕大小不同,这个参数肯定是会变化的,所以存在弊端,无法通用。

 

{  左右滑动切换图片  }

 

 

 

大致操作如上图。UP主的主页图漏了,请自行脑补,Python代码如下。

 

 

 

import time
import random
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.support import expected_conditions as EC


def main():
    # 设置驱动配置
    server = 'http://localhost:4723/wd/hub'
    desired_caps = {
        'platformName': 'Android',
        'deviceName': 'STF_AL00',
        'appPackage': 'com.ss.android.ugc.aweme',
        'appActivity': '.main.MainActivity',
        # 关闭手机软键盘
        'unicodeKeyboard': True,
        'resetKeyboard': True
    }
    driver = webdriver.Remote(server, desired_caps)
    wait = WebDriverWait(driver, 60)
    # 同意用户隐私协议,点击
    button_1 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/q6')))
    button_1.click()
    # 禁止电话权限,点击
    button_2 = wait.until(EC.presence_of_element_located((By.ID, 'com.android.packageinstaller:id/permission_deny_button')))
    button_2.click()
    # 禁止位置权限,点击
    button_3 = wait.until(EC.presence_of_element_located((By.ID, 'com.android.packageinstaller:id/permission_deny_button')))
    button_3.click()
    time.sleep(2)
    # 向上滑动,进入抖音视频播放页面
    TouchAction(driver).press(x=515, y=1200).move_to(x=515, y=1000).release().perform()
    # 这里需要设置一个较长时间的延迟,因为抖音有引导操作和提示,需等待片刻
    time.sleep(20)
    # 点击抖音"喜欢"处,以此进入登录界面
    TouchAction(driver).press(x=950, y=800).release().perform()
    # 点击密码登录
    button_4 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/afg')))
    button_4.click()
    # 输入账号
    button_5 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/ab_')))
    button_5.send_keys('你的账号')
    # 输入密码
    button_6 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/aes')))
    button_6.send_keys('你的密码')
    time.sleep(2)
    # 因为会跳出软键盘,会遮挡登录按钮,需点击软键盘取消
    TouchAction(driver).press(x=980, y=1850).release().perform()
    time.sleep(2)
    # 点击登录按钮
    button_7 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/abb')))
    button_7.click()
    time.sleep(2)
    # 登录成功,进入抖音视频界面,点击下方标题栏 "我"
    TouchAction(driver).press(x=990, y=1850).release().perform()
    # 进入个人主页,点击关注处
    button_8 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/a_7')))
    button_8.click()
    # 进入关注栏,点击第二个关注
    button_9 = wait.until(EC.presence_of_element_located((By.XPATH, '    /hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.LinearLayout/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]')))
    button_9.click()
    # 进入UP主主页,点击第一个视频
    button_10 = wait.until(EC.presence_of_element_located((By.ID, 'com.ss.android.ugc.aweme:id/aqm')))
    button_10.click()
    # 不断下滑页面,直到底部
    while True:
        TouchAction(driver).press(x=515, y=1247).move_to(x=515, y=1026).release().perform()
        time.sleep(float(random.randint(5, 10)))


if __name__ == '__main__':
    main()

 

 

下载视频代码,需要对视频链接去重。

 

 

 

import pandas as pd
import requests
import os

num = 0
dom = []
folder_path = "F:/video/"
os.makedirs(folder_path)
df = pd.read_csv('douyin.csv', header=None, names=["url"])

# 对链接去重及去除刚进入抖音获取的视频链接
for i in df['url'][2:]:
    if i not in dom:
        dom.append(i)

# 下载视频
for j in dom:
    url = j
    num += 1
    response = requests.get(url, stream=True)
    filename = str(num) + '.mp4'
    with open('F:\\video\\' + filename, 'ab+') as f:
        f.write(response.content)
        f.flush()
        print(filename + '下载完成')

 

 

最后成功获取小姐姐们的全部视频...

 

 

要是曾经在厂子里的我,那时会这骚操作该多好,哈哈。

 

其实我想的更多,多数妹子都挺喜欢拍抖音,不过她们应该不会下载这种操作滴。

 

那么小老弟们的机会就来了,下载下来喜欢的妹子的抖音视频。

 

然后剪辑出一个「最美瞬间」系列的视频,机会不就来了嘛...


http://chatgpt.dhexx.cn/article/UqoftG3a.shtml

相关文章

Javacv 音视频小工具 - 下载抖音视频

一、前言 大家好,俗话说的好,学习新的知识后要学以致用,在学习音视频的过程中,你有没有疑问,不知道音视频可以用来做什么。下面举几个例子,比较耳熟能详,被吹到风口的一些场景有:AI…

java抖音字符视频_代码生成抖音文字视频

天天刷抖音,发现一些 好玩的 快闪文字视频, 自己尝试着做了几个,用了很多 的 工具做了一下,发下需要收费, 于是,用Python整了个 工具来合成 文字视频,效果如下:PFinal社区,快闪文字视频https://www.zhihu.com/video/1127196631308853248 目录结构如下: 工作流程如下: data.txt …

抖音上传视频显示转成mp4怎么设置_如何剪辑抖音短视频?视频剪辑软件推荐及操作流程(一)...

随着抖音的爆火,大家都想在这个风口分一杯羹,但是呢,很多人都跟小编一样,既不喜欢露脸也没有能秀的才艺,所以才一直迟迟没有行动。 不过我在刷抖音的时候,也发现同样没有露脸没有才艺的人能上热门爆红,因为他们在视频拍摄和剪辑上很出色。 私下也有很多同学发来一段视频…

【Python 字符视频】Python 实现将抖音视频转换成字符视频

以前就在抖音上看到过字符视频,直到昨天才突然想自己动手做一个,然后就利用各种博客,自己总结 兼 借鉴,终于完成了字符视频的制作 一、思路: 众所周知,视频是一帧一帧的图片组成的,所以我想的就…

抖音个人主页背景放视频?详解来了

大家都知道抖音个人主页可以设置图片的,那么如何设置成视频形式的呢?一起来看下吧 抖音背景视频设置门槛 抖音品牌号才能设置,普通抖音账户无法设置。 品牌号 品牌号必须是抖音年框客户或是一年品牌消耗100万以上,抖音才会赠送…

html怎么做成锁屏壁纸,抖音怎么把视频做成壁纸 抖音短视频怎么弄成锁屏壁纸-站长资讯中心...

抖音怎么把视频做成壁纸?最近,很多小伙伴都喜欢将抖音的短视频设置成动态壁纸,不过还有些小伙伴们不知道要怎么设置,那么快随小编一起来看看下面的教程吧1 抖音怎么把视频做成壁纸? 1、打开软件后随便刷视频&#xff0…

怎么把抖音的视频转成gif格式?视频转gif的具体方法

当我们遇到有趣的视频想做成表情包时,都会在想这些图片是怎么制作的呢?相信有很多小伙伴都有同样的疑问,有哪些视频转gif工具可以把视频改成gif图片呢?GIF中文网的在线视频转gif功能用起来既简单又方便,支持手机、电脑两种操作模式&#xf…

怎么让抖音视频当做铃声android,把抖音短视频做成手机铃声,原来这么简单!...

原标题:把抖音短视频做成手机铃声,原来这么简单! “一日不抖,如隔三秋” 相信十个人里面 有九个都中了抖音的毒 刷起来完全控制不住自己 最近大火的抖音短视频炒火了不少民谣音乐人及一些翻唱歌曲的素人,不知道大家有没…

如何把照片做成视频?抖音爆款的图片视频切换教程,快速上手!

现在都流行用照片随手记录生活。而把照片做成视频,又是现在刷爆抖音、朋友圈的形式。不仅有酷炫的图片切换效果,还带有动听的背景音乐,这样精美又吸睛的照片视频,肯定能让你获得超多赞。今天就教大家用数码大师快速把照片做成视频…

抖音怎么把照片做成视频?超火的照片切换教程,3分钟就能搞定

抖音怎么把照片做成视频?怎么上传照片视频到抖音?抖音上很吸赞的照片切换效果怎么做? 今天教大家3分钟做出一个抖音上比较热门的照片视频,用到的工具是数码大师。 第一步:把照片一次性添加进来 打开数码大师后,选择“视频相册”,点击“添加相片”导入照片。点击“修改…

Adobe Flash cs4 下载安装

Adobe Flash cs4 下载安装 Adobe Flash cs4 下载Adobe Flash cs4 安装Flash Cs4安装之后打不开(启动界面一闪而过) Adobe Flash cs4 下载 Adobe Flash cs4 下载地址(百度网盘): https://pan.baidu.com/s/1KXTvIlQoa4cDGG16FdP-Vg Adobe Flash cs4 下载…

pdf数据查找网站

PDF Drive - Search and download PDF files for free.https://www.pdfdrive.com/ Library Genesis Proxy Mirror Links: Libgen Io, Libgen rs, Libgen nl, Libgen ishttps://libgen.onl/library-genesis/ Zlibrary、sci-hub、文献、书籍 | 药研导航 (drugx.cn)https://drug…

网站收录查询,常用的2种网站收录查询方法

在网站优化过程中,SEO人员通常都会非常关心网站的收录、索引情况,因为网站建立索引之后,才具有排名的条件。如何查询网站收录情况?今天我们聊聊常用的2种网站收录查询方法。第一种方法:通过site指令在搜索框查询 众多S…

r语言 网站数据查找

工作需要爬一个网站的数据&#xff0c;可是找的真的好累&#xff0c;不想重复劳作了&#xff0c;想起来原来学过的r语言有网站数据查找&#xff0c;就试一试。 library(XML) url<-"https://www.izaiwen.cn/" tbls<-readHTMLTable(url) sapply(tbls,nrow) libr…

如何通过数据进行网站分析

网站的监测指标有很多&#xff0c;一般的统计产品都包括大约20—30个指标。这些指标可以分成五个类别:用户规模、用户粘性、用户来源、网站受众属性、网站内容属性&#xff1b; 用户规模主要是通过PV、UV和独立IP三个指标衡量&#xff1b; 用户粘性主要通过回访率、访问频率和…

我常用的15个数据源网站!

现在有很多免费的数据可以供使用分析&#xff0c;不过很少有人能找的到&#xff0c;或者没能力找&#xff0c;这就是所谓的信息差吧。其实数据获取分为两方面&#xff0c;一是“拿来的”数据&#xff0c;也就是现成的&#xff1b;二是“爬来的”数据&#xff0c;这种一般通过爬…

如何分析网站数据

随着互联网的不断壮大&#xff0c;网站推广早已经成为很多企业首选的推广手段&#xff0c;想要做好网站推广&#xff0c;必须要经常对网站进行数据分析&#xff0c;只有了解了网站的各项数据之后&#xff0c;才能清楚的了解到网站推广优秀与否。那么&#xff0c;如何分析网站数…

找数据?这几个数据源网站就够用了?

来源&#xff1a;经管学苑 转自&#xff1a;经管学苑 大家好&#xff0c;我是小z 在这个用数据说话的时代&#xff0c;能够打动人的往往是用数据说话的理性分析&#xff0c;无论是对于混迹职场的小年轻&#xff0c;还是需要数据进行分析和研究的同学&#xff0c;能够找到合适的…

4个查询网站收录的方式,你中意哪个查询方式呢?

查询网站是否被收录的方式有几个&#xff1f; 4个&#xff1a;site命令、第三方工具、百度站长平台查询、利用接口批量查询。 接下来我们就来介绍这4个查询网站收录的方式&#xff1a; 第一个&#xff1a;site命令 在搜索引擎的搜索框输入:site网址就可以看到改…

要分析数据,可以先去这些数据网站找数据

作者&#xff1a;帆软 来源&#xff1a;知乎 金融财经数据 同花顺数据中心&#xff1a;提供股票债券等金融数据和讯数据&#xff1a;提供各种股票、基金、外汇、债券等实时数据&#xff0c;有付费&#xff0c;有免费零壹财经&#xff1a;大大小小的网贷数据、排行榜等金融数据网…