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

方案:把正文中出现的第一个时间作为事情的发生时间,并按照统一的格式进行输出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'''
#f = open(r'E:\news.txt','r',encoding = 'utf-8')
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_timeprint(cur_time)else:cur_time = result[1].replace('年','-').replace('月','-').replace('日','').replace('号','')if int(cur_time.split('-')[0]) < 10 :cur_time = '0' + cur_timeprint(title_time[:5] + cur_time)except Exception as e:print(e)

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

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

正则表达式提取新闻发生时间相关推荐

  1. php 正则表达式提取出合法的时间_PHP正则表达式核心技术完全详解 第1节

    PHP 正则表达式核心技术 第1节 正则表达式: 就是描述字符串排列模式的一种自定义语法规则.也是用于描述字符串排列 或 匹配模式的一种语法规则. 正则表达式: 就是用于描述字符串排列 或 匹配模式的 ...

  2. 爬虫 | 正则表达式提取腾讯教育新闻链接及图片链接

    前面的爬虫都是通过标签来爬取的,今天就分享一个小例子使用正则表达式来提取网页信息.如果你对正则表达式不熟悉,可以查看我之前写的R正则表达式这篇文章.它对R几个常用正则表达式进行了详尽的解释,包括参数说 ...

  3. 案例逐步演示python利用正则表达式提取指定内容并输出到csv

    背景和目标 这次我想要处理的是一个txt文件,里面的内容是一台机器定时ping另一台机器的输出结果,想要提取出的内容是时间和rtt值,最后还要把结果输出到csv文件. 1. 明确要提取的内容,编写正则 ...

  4. python用正则表达式提取中文_python3.x提取中文的正则表达式示例代码

    python3.x提取中文的正则表达式示例代码 发布时间:2020-09-29 06:26:16 来源:脚本之家 阅读:118 作者:mrr 实例一: 读取txt文件中含有中文的字符 import r ...

  5. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  6. python正则匹配特殊字符_python 利用正则表达式提取特殊信息

    1.删除字符串中的 Python注释 案例: import re time = "2020-01-01 # 这是一个日期" num = re.sub(r'#.*$', " ...

  7. Jmeter工具中参数化、正则表达式提取器、响应断言的实现

    参数化.正则表达式提取器.响应断言的实现 1.实现参数化 2.正则表达式提取器 3.响应断言 上一篇文章实现了用Jmeter工具实现了新增用户和学员登录两个功能,这篇文章将对前两个功能进行优化. 1. ...

  8. jmeter全局变量传参_Jmeter 将正则表达式提取的参数传给全局(跨线程组使用变量)...

    一.使用正则表达式提取sessionId 1.在测试计划(跨线程组使用变量)--> 线程组(登录)--> 添加HTTP请求(登录接口) (1)创建测试计划: 勾选独立运行每个线程组(例如在 ...

  9. C#正则表达式提取文本中以逗号间隔的数据

    使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 publi ...

最新文章

  1. CTF web总结--利用mysql日志getshell
  2. 使用JDK自带的工具jstack找出造成运行程序死锁的原因
  3. 一个Java反射机制例子
  4. MIDL2020赛事object-CXR(胸部X射线异物检测大赛)
  5. 二级java编写用户界面例题,单选题11—20:2012年计算机二级VB用户界面设计练习题及答案-计算机二级-233网校...
  6. 函数嵌套和nonlocal声明
  7. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  8. Server-U文件名中文乱码问题解决方法
  9. 【工程源码】使用华邦的SPI FLASH作为EPCS时固化NIOS II软件报错及解决方案
  10. 梯度向量的超简单理解
  11. 计算机音译英语单词,汉语谐音英文单词
  12. 2DPCA的原理推导与实现
  13. SQL性能优化以及性能测试
  14. redis 互为主从(双主)
  15. 小程序商城+进销存系统——通用模板
  16. vos3000+opensips+jssip实现网页通话
  17. 文件字符流(FileReader/FileWriter)
  18. 计算机网络校园网建设设计摘要,计算机网络专业校园网建设设计.doc
  19. 碳酸锂、碳酸氢锂除钙镁离子交换柱
  20. 向微软学研发管理:NT研发管理案例分析

热门文章

  1. CMU 15-445/645 Lab3-Query Execution
  2. [喵咪KafKa(2)]单机模式运行KafKa
  3. [Mac OSX]+homebrew安装NCL(ncar command language)
  4. 33 | 解读 TPU:设计和拆解一块 ASIC 芯片
  5. RabbitMQ的服务端和客户端RabbitMQ-c的简单使用。
  6. nohup: 重定向标准错误到标准输出
  7. 禾赛冲刺纳斯达克:9个月营收近8亿 小米百度美团是股东
  8. 什么是产融结合?什么是普惠金融
  9. 利用Java基础知识+简单封装写一个银行登录存取款系统
  10. c++中的标准模板库