正则表达式提取新闻发生时间

最近在提取新闻事件的发生时间,现在只是实现了一个最简单的新闻,获取新闻报到时间和正文的时间。 

方案:把正文中出现的第一个时间作为事情的发生时间,并按照统一的格式进行输出xxxx-xx-xx 某年某月某日这种格式。
在新闻中,由于每一个网站发布方不同,会存在报到时间不一致,以及正文内容格式不一致,在这个时候,我们需要考虑各种情况,但在此处,我们考虑的较简单,后面会在继续优化这个格式的提取。

p = re.compile(r'\d{4}年\d{1,2}月\d{1,2}日|今天|\d{1,2}月\d{1,2}日|\d{4}[-|/|.]\d{1,2}[-|/|.]\d{1,2}')

本人定义了上述正则表达式,使用上面的正则表达式,可以把这个新闻当中常见的日期格式给提取出来以及常见的月日表达给提取出来,由于本人,爬虫抓取的新闻内容是按照标题,报道,来源,正文内容,一般情况下,获取的第一个时间位报道时间,随后跟的时间是正文内容时间,会返回一个字符串形式的链表。

中间有对格式的转化,还有一些10月份以下操作补0,得到统一的位数输出,但是还没有对天数处理,完善之后会拿出来和大家分享

import re f = '''重庆金山沟煤矿瓦斯爆炸事故搜救结束 33人全部遇难 湖北省人民政府应急管理办公室 2016年11月03日 来源:中国新闻网记者今天截至11月2日从重庆永川金山沟煤矿“10.31”瓦斯爆炸事故应急处置指挥部获悉,最后15名失联矿工遗体已全部找到,搜救工作结束。 10月31日11时33分,重庆永川区来苏镇金山沟煤矿发生瓦斯爆炸,事发时35人在井下作业,2人自救撤离,没有受伤,其余33人被困井下。 救援指挥部称,2日凌晨2时03分,经过救援队持续紧张搜救,除已找到并升井的18具遇难矿工遗体外,其他15名被困矿工已找到,均已无生命体征。救援队继续对矿井进行全面彻底搜寻,4时04分,搜救工作结束,全部遇难矿工遗体升井。 目前,各方正在抓紧做好遗体辨认及善后工作。(刘相琳)2015-08-23'''  for readline in f: print(readline) p = re.compile(r'\d{4}年\d{1,2}月\d{1,2}日|今天|\d{1,2}月\d{1,2}日|\d{4}[-|/|.]\d{1,2}[-|/|.]\d{1,2}') p1 = re.compile(r'\d{1,2}月\d{1,2}日') result = re.findall(p,readline) print(result) try: title_time = result[0].replace('年','-').replace('月','-').replace('日','').replace('号','') print(title_time) ''' if result[1] == '今天': return result[0] ''' ''' ti = re.compile(r'截至.*\d{1,2}月\d{1,2}日')过滤掉包含截至,到,至这种格式,不是发生时间 ''' if result[1] == '今天': cur_time = title_time print(cur_time) else: cur_time = result[1].replace('年','-').replace('月','-').replace('日','').replace('号','') if int(cur_time.split('-')[0]) < 10 : cur_time = '0' + cur_time print(title_time[:5] + cur_time) except Exception as e: print(e) 

返回结果
['2016年11月03日', '今天', '11月2日', '10月31日']
2016-11-03
2016-11-03

从上面结果输出,我们的方案可以正确执行,输入统一格式的日期,在一定概率下,也获取了正确的新闻事件的发生日期,可以保存为格式化的数据,进行入库保存起来

原文链接:https://blog.csdn.net/m0_37693335/article/details/77942522?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165277607816782184625433%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165277607816782184625433&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-16-77942522-null-null.nonecase&utm_term=%E6%96%B0%E9%97%BB

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
文明发言,共建和谐米科社区
提交
头像

昵称

取消
昵称表情图片

    暂无评论内容