我正在設計一個小型體育新聞應用程式作為一個學校專案,它從網路上抓取資料,將其發布到 firebase 實時資料庫,然后由我的專案合作伙伴在 android studio 上構建的應用程式中使用。到目前為止,在開發程序中,我只是在每次運行代碼時都洗掉資料庫并重建它,以防止建立相同的資料。我想知道在將資料推送到資料庫之前如何檢查是否存在一條資料。謝謝,如果有人能夠指出我正確的方向。這是我將資料推送到 Firebase 的代碼:
ref = db.reference('/news')
ref.delete()
url = 'https://news.sky.com/topic/premier-league-3810'
content = requests.get(url)
soup = BeautifulSoup(content.text, "html.parser")
body = soup.find_all("h3", "sdc-site-tile__headline")
titles_list = []
links_list = []
for item in body:
headline = item.find_all('span', class_='sdc-site-tile__headline-text')[0].text
titles_list.append(headline)
link = item.find('a', class_='sdc-site-tile__headline-link').get('href')
links_list.append('https://news.sky.com' link)
i=0
while i < len(titles_list):
ref.push({
'Title' : titles_list[i],
'Link' : links_list[i]
})
i =1
uj5u.com熱心網友回復:
這里有幾個主要選項:
- 在寫入資料之前,您可以使用查詢來檢查資料是否已經存在。然后當它還不存在時,你可以寫它。
如果多個用戶/設備可以同時添加資料,則上述操作將不起作用,因為有人可能會在您檢查值是否已存在之后才寫入他們的資料。在這種情況下,您需要:
- 使用唯一的值作為資料的鍵(所以使用
child("your_unique_values").set代替push),并使用事務來確保您不會覆寫彼此的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/431740.html
