1

我使用这个模块:https ://github.com/codelucas/newspaper 从https://news.bitcoin.com/下载比特币文章。但是,当我尝试从下一页“ https://news.bitcoin.com/page/2/page ”获取下一篇文章时,我得到了相同的输出。任何其他页面都一样。

我尝试过使用不同的站点和不同的起始页面。我使用的第一个链接中的文章显示在所有其他链接上。

import newspaper

url = 'https://news.bitcoin.com/page/2'
btc_articles = newspaper.build(url, memoize_articles = False)

for article in btc_articles.articles:
    print(article.url)
4

1 回答 1

1

报纸图书馆试图抓取整个网站,而不仅仅是您输入的链接。这意味着您不必遍历所有页面来获取文章。但是,正如您可能已经注意到的那样,lib 无论如何都找不到所有文章。

原因似乎是它没有将所有页面识别为类别(并且没有找到提要),见下文(无论页面如何,输出都是相同的):

import newspaper

url = 'https://news.bitcoin.com/'
btc_paper = newspaper.build(url, memoize_articles = False)

print('Categories:', [category.url for category in btc_paper.categories])
print('Feeds:', [feed.url for feed in btc_paper.feeds])

输出:

Categories: ['https://news.bitcoin.com/page/2', 'https://news.bitcoin.com']
Feeds: []

正如您在故障报告https://github.com/codelucas/newspaper/issues/中指出的那样,这似乎是代码中的一个错误(或比特币部分的糟糕网站设计,取决于您如何看待它)670 .

于 2019-01-24T05:46:20.160 回答