无法将 Scrapy 管道连接到 Firestore 数据库
Trouble Connecting Scrapy Pipeline to Firestore DB
我是一个 Python NOOB 尝试使用 Python 将 Scrapy 结果写入 Firebase Firestore 3. Spider 结果正确地记录到控制台,但我似乎无法写入我的Firestore 数据库。非常感谢任何帮助。
错误消息:
db = firestore.client()
AttributeError: module 'google.cloud.firestore' has no attribute 'client'
管道文件:
import firebase_admin
from firebase_admin import credentials, firestore
from google.cloud import firestore
class DataProcessPipeline:
def __init__(self):
cred = credentials.Certificate('./serviceAccountKey.json')
firebase_admin.initialize_app(cred,
{
'databaseURL': 'https://xxxxxxxxxxx.firebaseio.com'
}
)
def process_item(self, item, spider):
db = firestore.client()
doc_ref = db.collection('f1_articles')
doc_ref.add(item.to_dict())
# doc_ref.insert(dict(item))
return item
你打错了 Client()
而不是 client()
:
db = firestore.Client()
from google.cloud import firestore
# Add a new document
db = firestore.Client()
doc_ref = db.collection(u'users').document(u'alovelace')
doc_ref.set({
u'first': u'Ada',
u'last': u'Lovelace',
u'born': 1815
})
# Then query for documents
users_ref = db.collection(u'users')
for doc in users_ref.stream():
print(u'{} => {}'.format(doc.id, doc.to_dict()))
我是一个 Python NOOB 尝试使用 Python 将 Scrapy 结果写入 Firebase Firestore 3. Spider 结果正确地记录到控制台,但我似乎无法写入我的Firestore 数据库。非常感谢任何帮助。
错误消息:
db = firestore.client()
AttributeError: module 'google.cloud.firestore' has no attribute 'client'
管道文件:
import firebase_admin
from firebase_admin import credentials, firestore
from google.cloud import firestore
class DataProcessPipeline:
def __init__(self):
cred = credentials.Certificate('./serviceAccountKey.json')
firebase_admin.initialize_app(cred,
{
'databaseURL': 'https://xxxxxxxxxxx.firebaseio.com'
}
)
def process_item(self, item, spider):
db = firestore.client()
doc_ref = db.collection('f1_articles')
doc_ref.add(item.to_dict())
# doc_ref.insert(dict(item))
return item
你打错了 Client()
而不是 client()
:
db = firestore.Client()
from google.cloud import firestore
# Add a new document
db = firestore.Client()
doc_ref = db.collection(u'users').document(u'alovelace')
doc_ref.set({
u'first': u'Ada',
u'last': u'Lovelace',
u'born': 1815
})
# Then query for documents
users_ref = db.collection(u'users')
for doc in users_ref.stream():
print(u'{} => {}'.format(doc.id, doc.to_dict()))