我正在使用Goose从各种URL中提取标题和主要文本。除了一个特定的荷兰新闻网站外,它适用于大多数网址。有什么想法在这里出错吗?
具体有问题的网址是here.
我的代码:
g = Goose()
content_url = g.extract(url=url)
allcontent = content_url.cleaned_text
print allcontent
我期待全文,但奇怪的是我只是随机地从文章中得到以下段落。
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.
答案 0 :(得分:1)
问题有两个原因:
Goose计算主要内容的方式'坐在html元素,特别是它试图找到文本块然后在html树中向上移动并更新每个封闭元素的分数。作为输出,您将获得基于内部评分的最有价值的元素。
您的网页结构。如果你检查html,你会看到文章文本放在几个不同的html块中,所以Goose正在选择其中一个。
解决方案取决于,如果你的目标是解析这个单一的网站,你最好使用美丽的汤,lxml,抓取等模块来单独解析文本块并将它们合并在一起。如果您有数百万个网站需要抓取,那么只需使用鹅就可以开箱即用。