Python Goose无法提取日期

4

我正在使用 Python Goose。你可以在这个链接中找到它。

我想提取发布日期,但当我运行:

g = Goose()
entity = g.extract(url="mylink")
date = entity.publish_date

结果是None

我在很多网站上都试过了,结果都是None

有什么建议吗?


有什么可以访问的吗?比如entity.title? - Robert Caspary
entity.title、entity.cleaned_text 和 entity.canonical_link 都运行完美! - Tasos
由于 publish_date 的默认值是 None,当提取时似乎出现了一些问题。尝试深入源代码以检查goose如何获取该值。 - Robert Caspary
2个回答

1
我刚刚检查了源代码的相关部分:crawler.py。目前评论掉了发布日期的提取。
# TODO
# article.publish_date = config.publishDateExtractor.extract(doc)

进一步检查发现,如果您取消注释上面的那行,您就可以定义自己的日期提取器。然而,Goose 中没有实现默认的日期提取器。请参考这个方法:https://github.com/grangier/python-goose/blob/master/goose/configuration.py中的set_publishdate_extractor

哦,我明白了。那就不是一个 bug :)...非常感谢你。 - Tasos
你能找到一个通用的日期提取实现吗? - Pratik Poddar
1
截至目前,Goose中尚未实现日期提取器。由于它是一个开源库,您可以编写该部分并向维护者发送拉取请求。 - iankit

0

自2014年起,这个功能已经被实现到python-goose中的extractors/publishdate.py中,因此article.publish_date会返回一些日期。但仅当以下元数据字段中有可用的日期时才会返回:

rnews:datePublished
article:published_time
OriginalPublicationDate
datePublished

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接