0

当我运行 Python 代码时

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

在 Python 3 中,我得到输出 897(即,报纸 3k 发现 897 页被认为是域http://cnn.com上的文章),但是当我运行时

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

(即,有一个额外的www.;没有其他任何改变)我只得到 895。当我在这两个 URL 之间来回切换时,这些数字是一致的。www.URL中的实际重要吗?如果是这样,为什么在使用报纸 3k 库时,这两个 URL 的文章计数变得如此相似?否则,为什么文章数不完全相同?

4

1 回答 1

1

正如您在下面看到的,在 www'less 资源中以两种变体表示的几个 url:

  • www
  • 没有www
import newspaper

artcls = newspaper.build('https://cnn.com', memoize_articles=False).articles
urls = [a.url.replace('www.', '') for a in artcls]

duplicated = set()

for u in urls:
    if urls.count(u) > 1:
        duplicated.add(u)
        
for d in duplicated:
    print(d)

结果:

https://cnn.com/business/media
https://cnn.com/travel/news
https://cnn.com/travel/article/hong-kong-cbd-cafe-found-wellness-intl-hnk/index.html
https://cnn.com/travel/article/rent-fire-lookout-towers-covid-19/index.html
于 2020-09-13T21:45:54.060 回答