一日一技:如何提取网页中的日期?

简介: 一日一技:如何提取网页中的日期?

Gne[1]虽然在提取新闻正文的时候,准确率比较高,但由于提取新闻发布时间使用的是正则表达式,因此提取效果有时候不那么让人满意。


最近我发现Python的一个第三方库,叫做htmldate,经过测试,它提取新闻的发布时间比较准确。我们来看看这个库怎么使用。首先使用pip安装:


python3 -m pip install htmldate


然后,我们使用Requests或者Selenium获得网站的源代码:


import requests
from htmldate import find_date
html = requests.get('https://www.kingname.info/2022/03/09/this-is-gnelist/').content.decode('utf-8')
date = find_date(html)
print(date)


运行效果如下图所示:


640 (5).png


而这篇文章的发布时间,确实是3月9号:


640 (6).png


我们再用网易新闻来看一下,相互激励 增进友谊(精彩绽放) |残奥|中国代表团|单板滑雪|夺金_网易政务[2] 这篇新闻对应的发布时间如下图所示:


640 (7).png


现在我们用Requests获得它的源代码,然后再提取发布时间:


640 (8).png


发布日期确实对了,但是后面的时间怎么丢失了呢?如果想把时分秒保留下来,可以增加一个参数outputformat,它的值就是你在datetime.strftime里面输入的值:


find_date(html, outputformat='%Y-%m-%d %H:%M:%S')


运行效果如下图所示:


640 (9).png


find_date的参数,除了网页源代码外,还可以传入URL,或者是lxml里面的Dom对象,例如:


from lxml.html import fromstring
selector = fromstring(html)
date = find_date(selector)


参考文献[1]


Gne: https://github.com/GeneralNewsExtractor/GeneralNewsExtractor


[2] 相互激励 增进友谊(精彩绽放) |残奥|中国代表团|单板滑雪|夺金_网易政

务: https://www.163.com/news/article/H28Q6NQ1000189FH.html


请关注微信公众号【未闻Code】获取更多精彩文章。


目录
相关文章
|
机器学习/深度学习
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
765 0
|
9月前
|
存储 人工智能 自然语言处理
结合CAMEL框架与QWEN实现数据合成,奖励模型评估和数据过滤工作流
本笔记本展示了如何结合CAMEL框架与QWEN实现数据合成、奖励模型评估和数据过滤的工作流。通过CAMEL的多代理系统,支持复杂AI任务的数据生成与评估。我们使用Firecrawl加载器从网页获取内容,并利用NVIDIA的Nemotron奖励模型对生成的数据进行评分和过滤。最后,通过设定阈值筛选高质量的数据条目。整个过程包括安装依赖、输入API密钥、定义数据生成函数、评估生成数据的质量以及过滤低质量数据。此方法适用于需要评估和优化AI生成内容的各种场景。
303 31
结合CAMEL框架与QWEN实现数据合成,奖励模型评估和数据过滤工作流
|
Kubernetes 容器
Failed at step CHDIR spawning /opt/kubernetes/bin/etcd: No such file or directory
Failed at step CHDIR spawning /opt/kubernetes/bin/etcd: No such file or directory
149 0
|
10月前
|
数据采集 自然语言处理 数据处理
通义灵码在 PyCharm 中的强大助力(上)
本文介绍了阿里云通义灵码与PyCharm结合的强大功能,涵盖安装配置、快速生成代码、优化代码结构等方面,通过实际案例展示了其在Python项目开发中的应用,显著提升开发效率和代码质量。
1361 12
通义灵码在 PyCharm 中的强大助力(上)
|
8月前
|
小程序
产品经理面试分级汇总
《产品经理面试分级汇总》涵盖自我介绍、工作内容、团队配合、需求管理、项目流程等多方面问题,帮助候选人全面准备面试。内容包括如何划分需求优先级、参与项目开发的流程、迭代经验、复杂需求处理、版本验收标准等,旨在考察候选人的综合能力和职业规划。
|
9月前
|
XML 移动开发 开发者
京东商品详情数据接口(H5、APP 端)
京东商品详情数据接口是为H5和APP开发者提供的工具,支持获取商品名称、价格、库存、销量、评价、图片等详细信息,优化应用功能。接口返回JSON或XML格式数据,方便解析处理。适用于电商导购、社交媒体分享、活动推广、价格监控等场景,提升用户体验和购物决策效率。示例代码展示了使用Python发送GET请求的方法。
|
11月前
|
人工智能 JSON 自然语言处理
文档智能 & RAG让AI大模型更懂业务 评测
文档智能 & RAG让AI大模型更懂业务 评测
214 2
|
编解码 Ubuntu 虚拟化
ubuntu无法粘贴复制windows中的内容,分辨率无法自适应电脑自带系统
ubuntu无法粘贴复制windows中的内容,分辨率无法自适应电脑自带系统
|
存储 前端开发 JavaScript
深入浅出React框架:构建高效组件化网页的实战指南
【7月更文挑战第9天】在当今快速发展的前端技术领域,React凭借其强大的组件化思想、高效的虚拟DOM以及丰富的生态系统,成为了构建动态用户界面的首选框架之一。本文将带你深入浅出地探索React的核心概念,并通过实战示例,展示如何利用React构建高效、可维护的组件化网页。
283 8
|
数据采集 Python
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](二)
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](二)