【问题标题】:How to compare a datetime from HTML (as a str) with a datetime in python如何将 HTML 中的日期时间(作为字符串)与 python 中的日期时间进行比较
【发布时间】:2020-04-04 14:47:38
【问题描述】:

我正在使用 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"))

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

谢谢!

【问题讨论】:

    标签: python html selenium web


    【解决方案1】:

    您可以将字符串日期(取自 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

    【讨论】:

    • @bigshirtjonny 我已经添加了示例。你可以阅读更多关于它here
    【解决方案2】:

    您需要将元素的 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 2010-09-05
      • 2022-09-27
      • 2016-12-02
      • 2022-11-21
      • 2020-01-24
      • 2021-10-07
      • 2016-11-04
      相关资源
      最近更新 更多