我的基本问题是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)))
答案 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'测试了它。