我正在使用selenium来拉取视频,并且我正在尝试编写一些东西来检查视频发布时的日期时间是否在昨天开始之前。我在比较我从视频中提取的datetime和昨天的时间时遇到了麻烦。
timeOfPost = browser.find_element_by_css_selector("").get_attribute("datetime")
if(timeOfPost > yesterday):
videoLinks.append(browser.find_element_by_css_selector("").get_attribute("src"))如何比较以字符串和datetime形式返回的post的时间?
谢谢!
发布于 2020-04-04 22:48:23
您可以将字符串date (取自HTML)转换为python date对象,然后将其与其他对象进行比较。例如:
from datetime import date
htmlDate = "2020/03/21"
dateTokens = htmlDate.split('/')
pythonDate = date(dateTokens[0], dateTokens[1], dateTokens[2])下面是python datetime模块的链接:https://docs.python.org/2/library/datetime.html#date-objects
发布于 2020-04-05 03:31:59
您需要将元素的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
https://stackoverflow.com/questions/61029856
复制相似问题