Newspaper是一个非常棒的库,可以抓取web数据,但我对文章缓存有点困惑。它缓存文章以加快操作,但我如何访问这些文章?
我有这样的东西。现在,当我对同一组文章运行两次这个命令时,第二次得到的返回类型是None
。如何访问那些以前缓存的文章进行处理?
newspaper_articles = [Article(url) for url in links]
看看这个:https://github.com/codelucas/newspaper/issues/481中的缓存方法"cachedisk"https://github.com/codelucas/newspaper/blob/master/newspaper/utils.py可能有错误。它确实会将结果缓存到磁盘上(搜索文件夹".newpaper_scraper"(,但之后不会加载它们。
一种解决方法是在构建报纸或使用Config类时将memory_articles设置为False。
newspaper.build(url, memoize_articles=False)
从源代码检查后,它取决于。
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()