51Testing软件测试论坛

标题: 用Python批量下载抖音去水印短视频 [打印本页]

作者: lsekfe    时间: 2023-3-1 13:05
标题: 用Python批量下载抖音去水印短视频
TikTokDownload 是由国人开源的抖音去水印视频下载工具。开源地址是:https://github.com/Johnserf-Seed/TikTokDownload
  对于某些做视频分析和研究的同学来说,这个工具非常有用,可以快速获取到视频资料。
  下面就来介绍一下这个工具的使用方法。
  1.准备
  开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。
  (可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
  (可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。
  请选择以下任一种方式输入命令安装依赖:1. Windows 环境 打开 Cmd (开始-运行-CMD)。2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
  git clone https://github.com/Johnserf-Seed/TikTokDownload.git
  cd TikTokDownload
  pip install -r requirements.txt


  如果你的网络环境无法访问Github,你可以在Python实用宝典公众号后台回复 TikTokDownload 下载最新源代码(2023-02-27)。
  2.抖音去水印短视频下载方法
  运行软件前先打开目录下 conf.ini 文件按照要求进行配置:

  配置完成后,在 TikTokDownload 目录下新建一个py文件,填入以下代码即可使用:
  # example.py
  import TikTokDownload as TK
  import Util
  # 单视频下载
  # TK.video_download(*TK.main())
  # 批量下载
  if __name__ == '__main__':
      # 获取命令行参数
      cmd = Util.Command()
      # 获取用户主页数据
      profile = Util.Profile()
      # 使用参数,没有则使用默认参数并下载
      profile.getProfile(cmd.setting())
    # 如果需要定时下载则注释这个input
      input('[ 完成 ]:已完成批量下载,输入任意键后退出:')


  效果如下:

  视频会被默认保存在当前目录的Download目录下。
  如果你只想下载单个视频,你可以通过 TK.video_download 下载
  import TikTokDownload as TK
  TK.video_download("视频链接", "yes")


  Video_download 第一个参数是视频的原始链接,第二个参数表明是否下载音乐原声,yes为下载。
  3.批量多用户下载
  通过修改配置的方式,我们只能实现逐个的用户短视频下载,每次下载新的用户的短视频都得修改配置,这非常麻烦。
  如果我们想要在一次运行中就下载到全部用户的短视频应该怎么做呢?
  方法很简单,我们把想要下载的抖音号和对应的Userid放在rooms.txt中, 用逗号分隔:
  1545798353,MS4wLjABAAAAdv-v-WcZO48UMZRDLB-huZxYObcxv5Z5FFWXKw4-o_8
  135180247,MS4wLjABAAAAtmTX6GSVN_AFW792_8srxdu1kPNXkuSGoG8Xl8xDHbE


  使用下方这份代码,就可以将两个作者的全部短视频下载下来。
  # 公众号:Python实用宝典
  import Util
  def read_rooms():
      f = open("rooms.txt", "r", encoding="utf-8")
      short_rooms = ["https://www.douyin.com/user/" + l.strip("\n").split(",")[1] for l in f.readlines()]
      return short_rooms
  # 批量下载
  if __name__ == '__main__':
      userids = []
      cmd = Util.Command()
      for room in read_rooms():
          setting = cmd.setting()
          setting[0] = room
          # 获取用户主页数据
          profile = Util.Profile()
          # 使用参数,没有则使用默认参数并下载
          profile.getProfile(tuple(setting))


  在TikTokDownload目录下保存为batch_download.py,然后使用Python运行这个py文件即可:
  cd TikTokDownload
  python batch_download.py



  4.常见错误
  单个视频链接与用户主页链接要分清,链接一定要输入仔细,配置文件只支持用户主页。
  配置文件一定要注意编码格式(推荐Notepad++)







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2