0

我正在运行一个 Scrapy 项目,我正在寻找在本地存储已经抓取的数据的最佳方法。目前我正在使用AnyDBM,但运行一段时间后我不断收到以下错误:

bsddb.db.DBRunRecoveryError: (-30973, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')

这是我做错的事情,因为我对 Python 还很陌生,但我想知道除了 Anydbm 之外是否还有更好的解决方案。

我正在存储我已爬取的页面的数字 ID,并将存储大约 500,000 条记录,并计划为未来的项目提供 3-4 百万条记录。

AnyDBM 是我应该坚持的还是我应该换成更适合这份工作的东西。

4

2 回答 2

1

看起来很适合sqlite,已经是 Python 标准库的一部分。

于 2013-04-09T09:49:57.270 回答
1

默认情况下,python 自带sqlite3一个非常好的数据库系统。

这是一个很好的教程。要将表放入内存使用:

conn = sqlite3.connect(":memory:")
conn.isolation_level = None
cur = conn.cursor()
于 2013-04-09T09:50:17.687 回答