仅检索来自多个不同网站的内容

时间:2019-04-16 18:57:05

标签: python web-scraping web-crawler data-analysis

目前,我正在一个项目中,我想分析在其网站上在线发布的不同博客,杂志等中的不同文章。

因此,我已经使用Python构建了一个Webcrawler,这使我每一篇新文章都成为html。

现在这才是重点,我想分析纯内容(仅文章,没有评论或建议等),但是我无法访问此内容,而没有定义正则表达式,就无法从html响应中提取内容我明白了每个来源的正则表达式都是不可替代的,因为我有大约100种不同的文章来源。

我尝试使用html2text库提取内容,但是该库仅将纯html转换为markdown,因此仍然存在诸如注释或推荐之类的东西,我必须手动删除它们。

任何想法,我如何面对这个问题?

1 个答案:

答案 0 :(得分:1)

要获取文章的主要文字并忽略多余的文字,您必须为特定网页编写代码或设计一些启发式方法来识别和提取文章内容。

幸运的是,已有解决此问题的库。

Newspaper是Python 3库:

from newspaper import Article
url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'
article = Article(url)
article.download()
print(article.text)

您可能还想签出类似的库,例如python-readabilitypython-goose

from goose import Goose
url = 'http://edition.cnn.com/2012/02/22/world/europe/uk-occupy-london/index.html?hpt=ieu_c2'
g = Goose()
article = g.extract(url=url)
print(article.cleaned_text)