Python日期格式转换与日期比较问题求助
解决网页爬取中的日期筛选问题
核心步骤拆解
计算目标日期
先算出当前日期往前推4天的日期,用datetime.timedelta实现:import datetime # 获取当前本地日期 current_date = datetime.date.today() # 计算早4天的目标日期 target_date = current_date - datetime.timedelta(days=4)转换网页日期字符串为日期对象
网页上的日期是DD.MM.YYYY格式的字符串,用strptime方法将其转为可比较的date对象:# 示例:网页上提取的日期字符串 web_date_str = "16.02.2023" # 按格式解析为date对象 web_date = datetime.datetime.strptime(web_date_str, "%d.%m.%Y").date()注意:如果网页日期有多余空格,先调用
strip()清理,避免解析报错。日期比较与筛选
直接用==比较两个date对象,筛选符合条件的数据:if web_date == target_date: # 这里处理符合条件的数据(比如保存、打印等) print("找到目标数据:", web_date_str)
异常处理优化
如果网页存在格式不规范的日期字符串,添加异常处理避免脚本崩溃:
web_date_str = "16.02.2023" # 替换为实际从网页提取的字符串 try: web_date = datetime.datetime.strptime(web_date_str.strip(), "%d.%m.%Y").date() if web_date == target_date: print("符合条件的数据") except ValueError: print(f"跳过格式错误的日期:{web_date_str}")
内容的提问来源于stack exchange,提问作者robebo
相关产品推荐
相关产品推荐

