0%

[Python]資料存進Firebase

Firebase

這邊只會用到Firebase的Cloud Firestore功能,官方文件

之後搭建網站將會使用Flask,所以在這邊我們使用Python來串接,創建好自己的應用後,取得私鑰的json檔案,接者就可以連接到Firebase了。

1
2
3
4
5
6
7
8
9
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

# Use a service account
cred = credentials.Certificate('path/to/serviceAccount.json')
firebase_admin.initialize_app(cred)

db = firestore.client()

Firebase是No SQL,我們需要創建collection和document,這邊我將打者設為一個collection,每位選手為一個document,底下有選手的各個資料。

1
2
3
4
5
6
7
8
def store_month(data):
batch = db.batch()

for player in data:
doc_ref = db.collection(u'打者').document(player['Name'])
del player['Name']
batch.update(doc_ref, {u'月份':player})
batch.commit()

這段程式碼我使用了batch,batch的好處在於只需要用一個request就能寫入多筆資料(單次上限為500),寫入時使用update則是因為有些球員的資料是不需要更新的。

儲存成功的樣子

接著讓爬蟲呼叫這個function就可以寫入了。