Daten in NoSQL-Datenbanken speichern
Lernen Sie, wann und wie Sie Scraping-Daten in dokumentorientierten NoSQL-Speichern wie MongoDB für flexible Speicherung mit geringem Schemaaufwand persistieren.
Daten in NoSQL-Datenbanken speichern ist eine kostenlose Web Scraping & Bots-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Web Scraping & Bots-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Web Scraping & Bots-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
When SQL Is Not Enough
Scraped data is often irregular: different pages yield different fields, nested structures, and evolving shapes. Rigid SQL schemas can be painful here.
NoSQL document databases store flexible JSON-like records, making them a natural fit for messy web data.
Documents and Collections
In a document store like MongoDB:
- A document is one JSON-like record.
- A collection groups related documents (like a table).
- Documents in one collection need not share the same fields.
{
"title": "Widget",
"price": 9.99,
"tags": ["tools", "sale"],
"vendor": { "name": "Acme", "rating": 4.5 }
}Connecting with PyMongo
The pymongo driver connects Python to MongoDB. Grab a database and a collection handle to start writing.
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017')
db = client['scraping']
products = db['products']Inserting Documents
Insert a single scraped record with insert_one or a batch with insert_many. MongoDB assigns an _id automatically.
record = {'title': 'Gadget', 'price': 14.5, 'tags': ['new']}
result = products.insert_one(record)
print(result.inserted_id)Avoiding Duplicates with Upsert
Re-running a scraper should not create duplicate rows. An upsert updates the matching document or inserts it if absent, keyed by a stable field like the product URL.
products.update_one(
{'url': record['url']},
{'$set': record},
upsert=True
)Unique Indexes
Enforce uniqueness at the database level with an index. This protects integrity even if your code has a bug.
products.create_index('url', unique=True)Querying Stored Data
Retrieve records with filter documents. Operators like $gt and $in express conditions.
cheap = products.find({'price': {'$lt': 10}})
for doc in cheap:
print(doc['title'], doc['price'])Storing Nested and Array Data
Unlike flat SQL columns, documents keep nested objects and arrays natively. This preserves the original structure of scraped pages without join tables.
review_doc = {
'product': 'Widget',
'reviews': [
{'user': 'a', 'stars': 5},
{'user': 'b', 'stars': 4}
]
}
db['catalog'].insert_one(review_doc)Bulk Writes for Speed
For large scrapes, batch operations dramatically reduce round trips. Collect writes and flush them together.
from pymongo import UpdateOne
ops = [UpdateOne({'url': r['url']}, {'$set': r}, upsert=True) for r in batch]
products.bulk_write(ops)SQL vs NoSQL for Scraping
Choose based on your data:
- NoSQL for variable, nested, fast-changing records.
- SQL when fields are stable and you need joins or strict constraints.
Many pipelines stage raw data in NoSQL, then transform into SQL for analysis.
Adding Timestamps and Metadata
Always stamp each scraped document with when it was captured and its source. This lets you track freshness, debug bad runs, and re-scrape stale records selectively.
from datetime import datetime
record['scraped_at'] = datetime.utcnow()
record['source'] = 'site.com'
products.insert_one(record)Quick Check
Test your understanding of NoSQL storage.
Recap
You learned to persist scraped data in NoSQL: documents and collections, connecting with PyMongo, upserts and unique indexes to prevent duplicates, querying, nested data, and bulk writes.
Document stores give scrapers flexible, scalable persistence.
Häufig gestellte Fragen
Ist die Lektion „Daten in NoSQL-Datenbanken speichern“ kostenlos?
Ja — der vollständige Text von „Daten in NoSQL-Datenbanken speichern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Web Scraping & Bots-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Web Scraping & Bots-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Daten in NoSQL-Datenbanken speichern“?
Lernen Sie, wann und wie Sie Scraping-Daten in dokumentorientierten NoSQL-Speichern wie MongoDB für flexible Speicherung mit geringem Schemaaufwand persistieren. Du übst Web Scraping & Bots mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Web Scraping & Bots zu starten?
Keine Vorkenntnisse erforderlich. Web Scraping & Bots auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Daten in NoSQL-Datenbanken speichern“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Web Scraping & Bots-Lektion Code schreiben und ausführen?
Ja. Jede Web Scraping & Bots-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Daten in CSV/JSON speichern
- Integration in Datenbanken (SQL)
- Cloud-Speicherlösungen
- Daten in NoSQL-Datenbanken speichern