通过报纸3k从新闻来源获取更多文章URL?

问题描述

当我这样做

import newspaper
paper = newspaper.build('http://cnn.com',memoize_articles=False)
print(len(paper.articles))

我看到报纸从http://cnn.com找到了902篇文章,这对我来说似乎太少了,因为他们每天都会发表许多文章,并且已经在线发表了很多年。这些真的是http://cnn.com上的所有文章吗?如果没有,我是否还能找到其他文章的URL?

解决方法

报纸仅查询CNN主页上的项目,因此该模块不会查询域中的所有类别(例如业务,健康状况等)。根据我的代码,到目前为止,报纸仅发现698条独特的文章。其中一些文章可能是相同的,因为某些URL带有散列,但看起来是同一篇文章。

P.S。您可以查询所有类别,但需要 Selenium Newspaper

from newspaper import build

articles = []
urls_set = set()
cnn_articles = build('http://cnn.com',memoize_articles=False)
for article in cnn_articles.articles:
   # check to see if the article url is not within the urls_set
   if article.url not in urls_set:
     # add the unique article url to the set
     urls_set.add(article.url)
     articles.append(article.url)


print(len(articles))
# 698 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...