如何获得从python scrip下载视频的确切名称

2024-04-16 22:42:48 发布

您现在位置:Python中文网/ 问答频道 /正文

url = "http://r2---sn-pgpq5-gv8e.googlevideo.com/videoplayback?beids=%5B9452306%5D&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Csource%2Cupn%2Cexpire&dur=18.250&itag=18&mime=video%2Fmp4&expire=1488221864&lmt=1417031606585030&upn=GKIFYrlNn_U&source=youtube&id=o-ADqh1mH-ZsRDFnyLkiBlBWkyMjV76jLUJ6q_ZdYUsoZ4&ratebypass=yes&pl=24&mm=31&mn=sn-pgpq5-gv8e&key=yt6&ip=91.222.120.113&signature=B3E780A72E0AA7C86D1562EE983283E7AEB0D35A.68FE2B8E21DA731E56AD6B44E658D5F61501890C&ipbits=0&ms=au&mt=1488200127&initcwndbps=3640000&mv=m&title=20+second+video"

import urllib, urlparse,time

split = urlparse.urlsplit(url)

filename = split.path.split("/")[-1]

它将文件名作为videoplayback 但应该是20秒的录像

如何解决


Tags: comhttpurlsplitr2itagurlparsesn
1条回答
网友
1楼 · 发布于 2024-04-16 22:42:48

如果我正确理解您的问题,那么您希望从URL的查询字符串中提取参数title。为此,可以使用函数^{}。查询字符串通过属性query可用,如下面的代码段所示。你知道吗

在下一步中,需要对查询字符串本身进行解析和解码。尽管从一开始就这样做很有诱惑力,但我还是建议使用同一模块中的函数parse_qs。此函数返回一个字典,其中包含在查询字符串中找到的所有参数/变量。但是,或者给定的参数名,可能存在多个值—这就是下面的params['title']通常是一个列表。然而,对于所讨论的URL,只有一个值“20秒视频”。你知道吗

最后,请注意,对于python3.X,有必要用from urllib.parse import parse_qs, urlsplit替换import语句。你知道吗

from urlparse import parse_qs, urlsplit

url = ...

parts = urlsplit(url)
params = parse_qs(parts.query)
print(params['title'][0])

相关问题 更多 >