Htmldate - 网页发布日期提取工具

本文翻译整理自:https://github.com/adbar/htmldate


一、关于 Htmldate

Htmldate 是一款用于提取网页原始发布日期和更新日期的工具。支持通过命令行或Python调用,集成了从网页下载到HTML解析、内容抓取和文本分析的全流程。该工具已在数百万文档的生产环境中验证,并被多个库集成。


相关链接资源


关键功能特性

  • 支持URL、HTML文件或HTML树结构输入(含批量处理)
  • 可自定义日期输出格式(默认ISO 8601标准)
  • 同时检测原始发布日期和更新日期
  • 多语言支持
  • 兼容Python 3.8及以上版本

二、核心功能演示

Logo as PNG image


1、Python调用示例

>>> from htmldate import find_date
>>> find_date('http://blog.python.org/2016/12/python-360-is-now-available.html')
'2016-12-23'

2、命令行调用示例

$ htmldate -u http://blog.python.org/2016/12/python-360-is-now-available.html
'2016-12-23'

三、工作原理

Htmldate通过分析HTML标记和文本内容实现日期检测,采用以下启发式方法:

1、头部标记分析:识别常见元素(如linkmeta标签)及Open Graph协议属性
2、HTML结构分析:搜索文档中的abbrtime等结构化元素及特定属性(如postmetadata
3、内容分析

  • fast模式:清理HTML后匹配精确日期模式
  • extensive模式:收集所有潜在日期并通过消歧算法确定最佳结果

最终输出经校验后转换为指定格式。


四、性能对比

基于1000个含可识别日期网页的测试(2023-11-13/Python 3.10环境)

Python包精确率召回率准确率F值耗时倍数
articleDateExtractor 0.200.8030.7340.6220.7675x
htmldate[all] 1.6.0 (fast)0.8830.9240.8230.9031x
htmldate[all] 1.6.0 (extensive)0.8700.9930.8650.9281.7x

完整测试结果见:https://htmldate.readthedocs.io/en/latest/evaluation.html


五、安装指南

支持Linux/macOS/Windows系统,需Python 3.8+环境:

pip install htmldate
# 可选性能优化版
pip install htmldate[speed]

注:最后支持Python 3.6/3.7的版本为htmldate==1.8.1


六、其它

1、技术文献


2、致谢

特别感谢以下开源项目:

  • lxmldateparser日期解析库
  • 部分模式参考自python-goosemetascraper等工具

伊织 xAI 2025-04-19(六)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EAI工程笔记

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值