如何在报纸3k中访问缓存的文章

时间:2018-07-24 11:09:39

标签: python python-3.x web-scraping python-newspaper

Newspaper是一个很棒的库,它允许抓取Web数据,但是我对文章缓存感到有些困惑。它会缓存文章以加快操作速度,但是如何访问这些文章?

我有这样的东西。现在,当我使用相同的文章集两次运行此命令时,第二次获得返回类型None。如何访问那些以前缓存的文章进行处理?

newspaper_articles = [Article(url) for url in links]

2 个答案:

答案 0 :(得分:1)

看这里:https://github.com/codelucas/newspaper/issues/481,看来https://github.com/codelucas/newspaper/blob/master/newspaper/utils.py中的缓存方法'cache_disk'可能有错误。它确实确实将结果缓存到磁盘(搜索文件夹“ .newspaper_scraper”),但此后不加载它们。

一种解决方法是在制作报纸或使用Config类时设置memoize_articles = False。

newspaper.build(url, memoize_articles=False)

答案 1 :(得分:0)

从源代码检查后,这取决于。

https://github.com/codelucas/newspaper/blob/beacce0e167349374ce0b37012b01c7c07a26890/newspaper/settings.py#L35

DATA_DIRECTORY = '.newspaper_scraper'

TOP_DIRECTORY = os.path.join(tempfile.gettempdir(), DATA_DIRECTORY)

因此请在您的python解释器中运行此命令以获取缓存位置

import tempfile
tempfile.gettempdir()