首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Goose从HTML中提取文本(只适用于一个)

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

Stack Overflow用户
提问于 2017-08-11 12:33:33
回答 1查看 637关注 0票数 0

我使用Goose从不同的URL中提取标题和主要文本。除了一个具体的荷兰新闻网站外,它与大多数URL一起工作。知道这里出了什么问题吗?

特定的问题URL是这里。

我的代码:

代码语言:javascript
复制
g = Goose()
content_url = g.extract(url=url)
allcontent = content_url.cleaned_text
print allcontent

我期待整篇文章,但奇怪的是,我只是从文章中随机得到以下段落。

代码语言:javascript
复制
Toerisme was een groot goed toen het een voorrecht was van de elite. Maar nu de massa in het voetspoor treedt van Floortje Dessing gaat het van kwaad tot erger. Het verplaatsen van mensen per cruiseboot of jumbojet is milieubelastend. Toeristen die de bloemetjes buiten zetten, veroorzaken geluidsoverlast in de kleine uurtjes. Toeristenplaatsen veranderen buiten het seizoen in spookoorden. En een bezoek aan de yakherders in Mongolië is een stuk minder interessant als blijkt dat de buren er twee maanden eerder ook waren geweest.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 13:22:27

问题有两个原因:

  1. Goose计算“main content”的方式是在html元素中,特别是它试图找到文本块,然后在html树中向上移动,并更新每个包围元素的得分。作为输出,您将收到基于内部评分的最有价值的元素。
  2. 你的网页结构。如果您检查html,您将看到文章文本被放置在几个不同的html块中,因此Goose正在选择其中之一。

解决方案取决于,如果您的目标是解析这个单一的站点,那么您最好使用漂亮汤、lxml、grab等模块来单独解析文本块并将它们合并在一起。如果你有数以百万计的网站可供爬行,你只需忍受鹅给你的是什么东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45635371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档