为什么新闻纸3K要区分http://cnn.com 和http://www.cnn.com?

2024-06-16 04:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行Python代码时

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

在Python3中,我得到了897的输出(即newspaper3k在域http://cnn.com上找到了897个被认为是文章的页面),但是当我运行

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

(也就是说,再加上一个www.;没有其他变化)我只得到895。当我在这两个URL之间来回切换时,这些数字是一致的。在URL中www.实际上有意义吗?如果是这样,为什么在使用newspaper3k库时,这两个URL的文章数量变得如此相似?否则,为什么物品数量不完全相同


Tags: importbuildcomfalsehttpurllenwww
1条回答
网友
1楼 · 发布于 2024-06-16 04:21:32

正如您在下面看到的,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

相关问题 更多 >