我需要一个 python 脚本,它可以链接到单个 youtube 播放列表,然后给出一个列表,其中包含播放列表中各个视频的链接。
我意识到几年前也有人问过同样的问题,但有人问它 python2.x 并且答案中的代码无法正常工作。它们非常奇怪,它们有时会工作,但偶尔会输出空输出(也许那里使用的某些软件包已更新,我不知道)。我在下面包含了这些代码之一。
如果您不相信,请多次运行此代码,您偶尔会收到空列表,但大多数情况下它会分解播放列表。
from bs4 import BeautifulSoup as bs
import requests
r = requests.get('https://www.youtube.com/playlist?list=PL3D7BFF1DDBDAAFE5')
page = r.text
soup=bs(page,'html.parser')
res=soup.find_all('a',{'class':'pl-video-title-link'})
for l in res:
print(l.get("href"))
Run Code Online (Sandbox Code Playgroud)
在某些播放列表的情况下,代码根本不起作用。
此外,如果 beautifulsoup 不能完成这项工作,任何其他流行的 Python 库都可以。