Python的报纸包返回了哪些文章?

时间:2018-02-10 23:14:04

标签: python python-3.x python-newspaper

我的基本问题是Python中的报纸包如何确定它返回的网址/文章?有人会认为它只是返回你提供的url中包含的所有文章链接,但它似乎不会那样工作。例如,如果您使用“http://www.cnn.com”和“https://www.cnn.com/politics”,则会返回完全相同的文章。我认为对于后者你应该只在政治页面上找到文章,但情况似乎并非如此。

那它到底在做什么?它只是从主页上获取所有文章吗?

这是我用来测试它的一个例子(我使用的是python版本3.6.2):

import newspaper

#Build newspaper on cnn homepage
url = "http://www.cnn.com"
paper = newspaper.build(url, memoize_articles=False)
article_list = []
for article in paper.articles:
    article_list.append(article.url)

#Build newspaper on cnn politics page
url = "https://www.cnn.com/politics"
paper = newspaper.build(url, memoize_articles=False)
article_list_2 = []
for article in paper.articles:
    article_list_2.append(article.url)

#print the total number of urls returned
print (str(len(article_list)))
print (str(len(article_list_2)))

1 个答案:

答案 0 :(得分:1)

用于文章抓取和管理的Python报纸包仅返回主页文章。

import newspaper
news_paper = newspaper.build('http://nypost.com', memoize_articles=False)
print(news_paper.size())
for article in news_paper.articles:
    print(article.url)

它将打印主页的所有文章网址。我还为CNN' https://edition.cnn.com'测试了它。