用Goose从HTML中提取文本(只适用于一个人)

2024-05-10 01:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Goose从不同的url中提取标题和主文本。除了一个特定的荷兰新闻网站,它可以与大多数网址一起工作。你知道这里出什么问题了吗?在

特定的有问题的URL是here.

我的代码:

g = Goose()
content_url = g.extract(url=url)
allcontent = content_url.cleaned_text
print allcontent

我期待着全文,但奇怪的是,我只是在一个随机的地方从文章中得到了以下段落。在

^{pr2}$

Tags: 代码text文本url标题here网站extract
1条回答
网友
1楼 · 发布于 2024-05-10 01:15:58

问题有两个原因:

  1. Goose计算位于html元素的“主要内容”的方式,特别是它试图找到文本块,然后在html树中向上移动,并更新每个封闭元素的分数。作为一个输出,您将收到基于内部评分的最有价值的元素。

  2. 你的网页结构。如果您检查html,您会看到文章文本被放置在几个不同的html块中,所以Goose正在选择其中一个。

解决方案视情况而定,如果您的目标是解析这个单一的站点,那么最好使用BeautifulSoup、lxml、grab等模块来单独解析文本块并将它们合并在一起。如果你有数百万个网站需要爬网,那就接受goose给你的开箱即用。在

相关问题 更多 >