有没有办法用python生成有效的youtube URL
import requests
from string import ascii_uppercases, ascii_lowercase, digits
charset = list(ascii_uppercase) + list(ascii_lowercase)+ list(digits)
def gen_id():
res = ""
for i in range(11):
res += random.choice(charset)
return res
youtube_url = "https://www.youtube.com/watch?v=" + gen_id()
resp = requests.get(youtube_url)
print (resp.status_code)我使用这个例子来生成随机的youtube url,当我试图在浏览器中打开视频时,我得到了响应码200,但是没有找到视频。
我查看了this方法,但它不起作用
发布于 2021-08-23 20:41:55
ID是随机生成的,并且不是那么可预测的。它们都应该是Base64的,这有助于限制字符的数量(您可能希望在随机生成中添加破折号和下划线,因为像gbhDL8BT_w0这样的代码是可能的)。已知的唯一真正的方法是生成然后测试,正如一些评论者提到的那样,这可能会受到YouTube的速率限制。
在this answer to a similar question中提供了一些额外的细节,这些细节可能有助于生成或满足好奇心。
发布于 2021-08-23 20:52:51
从Youtube拥有的所有视频中挑选一个总是有效的随机url是不可能的,并不是每个有效的序列都是一个有效的id。您必须检查自己是否希望随机选择的urls是有效的。挑选一些视频,并把它们放在一个列表中。
myUrls = [
"https://www.youtube.com/watch?v=...",
"https://www.youtube.com/watch?v=...",
...
]
youtube_url = random.choice(myUrls)https://stackoverflow.com/questions/68898720
复制相似问题