YouTube-dl 从 Reddit 下载和命名视频

YouTube-dl to download and name videos from Reddit

我已经能够破解我的第一个脚本了!它所做的是进入 sub-reddit,获得最高提交,然后使用 youtube-dl 下载视频。 并且有效!

import praw
import os

user_agent = "mybot"

r = praw.Reddit(user_agent=user_agent)

submissions = r.get_subreddit('unexpectedjihad').get_top(limit=10)
urls = []
def yt() :
    for x in submissions:
        urls.append(str(x.url))
    return urls

yt_urls = yt()

for item in yt_urls:
    print "downloading..." + " "
    os.system("youtube-dl" + " " + item)
    print "done"

我接下来要做的是让Youtube-dl将文件名设置为与reddit提交的标题相同。

我对如何将标题视频与视频文件相匹配感到非常困惑。我该怎么办? 非常感谢

根据 the docs,您想将 -o 传递给 youtube-dl,例如:

for item in submissions:
   os.system('youtube-dl -o {}.%(ext)s {}'.format(item.title, item.url))

不过考虑到这可能带来的问题,直接嵌入YDL可能会更简单,E.G.:

import youtube_dl
# ... reddit stuff here ...

for item in submissions:
   # see options at https://github.com/rg3/youtube-dl/blob/master/youtube_dl/YoutubeDL.py#L89
   ydl_opts = {'outtmpl': item.title + '.%(ext)s'}
   with youtube_dl.YoutubeDL(ydl_opts) as ydl:
       ydl.download([item.url, ])