在Python中本地存储数据

时间:2013-04-09 09:47:38

标签: python scrapy

我正在运行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是我应该坚持的,还是应该改为更适合这项工作的东西。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

这是一个pretty good tutorial。要将表格放入内存使用:

conn = sqlite3.connect(":memory:")
conn.isolation_level = None
cur = conn.cursor()