-1

我正在尝试从 .html 文件中读取内容(为方便起见,此处指定了 URL)[1]。但有时它不显示任何文本。请帮我解决这个问题。

使用的 Goose 版本:https ://github.com/agolo/python-goose/ 当前版本给出了一些错误。

from goose import Goose
from requests import get

response = get('http://www.highbeam.com/doc/1P3-979471971.html')
extractor = Goose()
article = extractor.extract(raw_html=response.content)
text = article.cleaned_text
print text
4

1 回答 1

2

Goose 确实使用了几个预定义的元素,这些元素可能是查找顶部节点的良好起点。如果没有找到“已知”元素,它会开始寻找top_node通常包含大量p标签的元素。您可以阅读extractors/content.py以了解更多详细信息。

给定的文章没有很多普通文章的特征,通常包含在文章标签中,或者带有 class 和 id 的 div 标签,例如“post-content”、“story-body”、“article”等。这是一个没有段落的 div 标签id = 'docText',因此 Goose 无法预测它的好处。

我可以建议你在常量的开头添加这一行:KNOWN_ARTICLE_CONTENT_TAGSextractors/content.py

KNOWN_ARTICLE_CONTENT_TAGS = [
    {'attr': 'id', 'value': 'docText'},
    ... other paths go here
]

这是提取的主体:

钦奈,12 月 19 日——泰米尔纳德邦政府周一任命了一个单人司法调查委员会,调查周日在州首府钦奈发生踩踏事件的原因,该事件造成 42 人丧生,另有 37 人受伤。\n\n公告即使在踩踏事件中遇难者的家属对意外悲剧感到痛苦和激动之际,委员会成立之际。\n\n在泰米尔纳德邦的一个避难所分发防洪物资时,42 名无家可归者被踩死\n\n官员说,避难所的大门打开时,超过 5,000 人冲了进来,造成了踩踏事件。\n\n受害者的家人 Chitra 说,是管理不善导致了这场悲剧。\u2026

于 2015-05-23T04:00:32.517 回答