如何将HTML中的日期时间(作为str)与python中的日期时间进行比较

2024-06-25 05:57:51 发布

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

我正在使用selenium来提取视频,我正在尝试写一些东西来检查视频发布的日期时间是否在昨天开始之前。我在比较我从视频中提取的日期时间和昨天的时间时遇到了麻烦

    timeOfPost = browser.find_element_by_css_selector("").get_attribute("datetime")
    if(timeOfPost > yesterday):
        videoLinks.append(browser.find_element_by_css_selector("").get_attribute("src"))

我如何比较作为字符串返回的帖子的时间和日期时间

谢谢


Tags: browsergetdatetime视频byifselenium时间
2条回答

您可以将字符串日期(取自HTML)转换为python日期对象,然后将其与其他对象进行比较。例如:

from datetime import date

htmlDate = "2020/03/21"
dateTokens = htmlDate.split('/')

pythonDate = date(dateTokens[0], dateTokens[1], dateTokens[2])

下面是到python日期时间模块的链接:https://docs.python.org/2/library/datetime.html#date-objects

您需要将元素的datetime属性转换为datetime对象,然后进行比较

from datetime import datetime, timedelta

# Define yesterday datetime object
yesterday = datetime.now() - timedelta(1)

# Convert attribute string of datetime to a datetime object
timeOfPost = 'Apr 1 2020  10:43AM'
datetime_timeOfPost = datetime.strptime(timeOfPost, '%b %d %Y %I:%M%p')

if (datetime_timeOfPost > yesterday):
    # do more stuff

您需要修改转换方式,因为我不知道您看到的值。如果您需要有关datetime的帮助,可以在此处找到更多信息:https://docs.python.org/2/library/datetime.html

相关问题 更多 >