首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BeautifulSoup:如何以数据时间格式获取youtube视频的发布日期?

BeautifulSoup:如何以数据时间格式获取youtube视频的发布日期?
EN

Stack Overflow用户
提问于 2020-02-09 05:33:55
回答 2查看 712关注 0票数 0

在我的爬虫的一部分,我需要刮出版的时间和日期的日期时间格式的youtube视频。我正在使用bs4,到目前为止,我可以得到发布的时间格式,就像YT向我们展示的那样,即“发布在2017年5月6日”。但我无法拿回实际的约会时间。我该怎么做?

我的代码:

代码语言:javascript
运行
复制
    video_obj["date_published"] = video_soup.find("strong", attrs={"class": "watch-time-text"}).text
    return video_obj["date_published"] 

输出:

代码语言:javascript
运行
复制
Published on Feb 8, 2020

我想要的方式:

代码语言:javascript
运行
复制
YYYY-MM-DD HH:MM:SS
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-09 07:42:52

一旦你得到:

代码语言:javascript
运行
复制
Published on Feb 8, 2020

您可以执行以下操作以删除“已发布的”

代码语言:javascript
运行
复制
date_string = soup_string.strip("Published on")

要以YYYY DD:MM:SS的格式获得此信息,您可以在python中使用库。您可以使用以下方法安装它:

代码语言:javascript
运行
复制
pip install python-dateutil

代码:

代码语言:javascript
运行
复制
from dateutil import parser
formatted_date = parser.parse("Published on Feb 8, 2020", fuzzy=True)

这将在:MM:SS中输出日期。

您可以在这里阅读更多有关python-dateutil解析器的内容。

票数 1
EN

Stack Overflow用户

发布于 2020-02-09 07:54:26

您可以使用蟒蛇日期时间解析字符串并格式化输出。

代码语言:javascript
运行
复制
pubstring = video_obj["date_published"]  # "Published on Feb 8, 2020"
# pubstring[:13] cuts of first 13 chars
dt = datetime.datetime.strptime(pubstring[13:], "%b %d, %Y")
return dt.strftime("%F") # Format as needed
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60133764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档