如何使用Python从爬取获得的文本列表中提取日期、月份及年份
Python实现日期提取方案
- 核心思路:先处理字符串内的换行符,再用正则匹配标准日期格式,可按需选择是否保留重复日期
import re # 原始爬取数据 raw_data = [ 'Archive\nUpdated', 'Sep 20,\n2021', 'Data Tables', 'Excel', 'Sep\n03, 2019', 'Nov 05, 2021', 'Sep\n03, 2019', 'Excel', ] # 匹配「月份缩写 日期, 年份」格式的正则,兼容逗号后有无空格的情况 date_pattern = r'((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s*\d{4})' extracted_dates = [] for item in raw_data: # 替换当前字符串内的所有换行符,拼接成完整连续文本 processed_item = item.replace('\n', '') # 查找所有匹配的日期 matches = re.findall(date_pattern, processed_item) extracted_dates.extend(matches) # 如需去重可取消注释下行代码 # extracted_dates = list(set(extracted_dates)) print(extracted_dates)
- 运行输出(未去重):
['Sep 20,2021', 'Sep 03, 2019', 'Nov 05, 2021', 'Sep 03, 2019'] - 若后续爬取数据中存在其他日期格式,调整正则匹配规则即可适配。
内容的提问来源于stack exchange,提问作者Zohair Ahmed
相关产品推荐
相关产品推荐

