我正在做一个项目,需要在YouTube中存储视频的发布日期。
问题是我在尝试在HTML源代码中间找到此数据时遇到了一些困难

这是我的代码尝试:

import requests
from bs4 import BeautifulSoup as BS

url = "https://www.youtube.com/watch?v=XQgXKtPSzUI&t=915s"
response = requests.get(url)
soup = BS(response.content, "html.parser")
response.close()

dia = soup.find_all('span',{'class':'date'})
print(dia)

输出:
[]

我知道我要发送给.find_all()的参数是错误的。
我之所以这样说,是因为我能够使用相同的代码存储视频中的其他信息,例如标题和 View 。
我在使用.find_all()时尝试了不同的参数,但没有弄清楚如何找到它。

最佳答案

如果您将Python与pafy一起使用,则将获得的对象具有易于访问的发布日期。

安装pafy:“pip install pafy”

import pafy
vid = pafy.new("www.youtube.com/watch?v=2342342whatever")
published_date = vid.published
print(published_date)   #Python3 print statement

查看pafy文档以获取更多信息:
https://pythonhosted.org/Pafy/
我离开doc链接的原因是因为它是一个非常整洁的模块,它无需外部请求模块即可处理获取数据,并且还提供了视频的许多其他有用属性,例如最佳格式下载链接等。

10-08 11:07