令我惊讶的是,我没有发现其他地方提出过这个问题。简而言之,我正在编写一个应用程序,计划部署到云(可能使用 Heroku),它将执行各种网络抓取和数据收集。它将位于云中的原因是,我可以将其设置为每天自行运行,并将数据提取到数据库,而无需我的计算机处于打开状态,并且团队的其他成员也可以访问数据。
我曾经使用AWS的SimpleDB和DynamoDB,但我发现SDB的存储限制太小,DDB的查询能力差是一个问题,所以我正在寻找一个可以存储任意长度值的数据库系统(SQL或NoSQL) (理想情况下是任意数据结构)并且可以在任何字段上查询。
我找到了很多 Heroku 的数据库解决方案,例如 ClearDB,但是我看到的所有信息都展示了如何设置 Django 来访问数据库。由于这是一个脚本而不是一个网站,如果没有必要的话,我真的不想深入研究 Django。
有没有一种数据库可以让我在 Heroku 中使用 Python 连接而不使用 Django?
您可以获取 Heroku 提供的数据库,而无需您的应用程序使用 Django。为此:
heroku addons:add heroku-postgresql:dev
如果您需要更大更专用的数据库,您可以在以下位置检查计划:Heroku Postgres http://postgres.heroku.com/
在您的requirements.txt中,您需要添加:
psycopg2
然后您可以与它进行连接/交互,如下所示:
import psycopg2
import os
import urlparse
urlparse.uses_netloc.append('postgres')
url = urlparse.urlparse(os.environ['DATABASE_URL'])
conn = psycopg2.connect("dbname=%s user=%s password=%s host=%s " % (url.path[1:], url.username, url.password, url.hostname))
cur = conn.cursor()
query = "SELECT ...."
cur.execute(query)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)