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, ])
我已经能够破解我的第一个脚本了!它所做的是进入 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, ])