Lass uns anfangen!
Inhaltsverzeichnis
Erstellen eines Datenerfassungstools: Schritt für Schritt
Für dieses Projekt führe ich Sie durch die Schritte zum Erstellen Ihres eigenen Walmart-Datenerfassungstools unter Verwendung von ScraperAPI mit Python und helfe Ihnen dabei, kontinuierlich Produktdaten zu erfassen – einschließlich Preise, Namen, Details usw.
Wir behandeln den gesamten Prozess, vom Abrufen der Daten über deren Export im JSON-Format bis hin zur Planung der automatischen Ausführung des Skripts.
Schritt 1: Einrichten Ihrer Umgebung
Bevor wir uns in den Code vertiefen, müssen Sie Ihre Entwicklungsumgebung einrichten. Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist. Sie müssen außerdem Folgendes installieren: requests
Bibliothek:
Schritt 2: Registrierung für ScraperAPI
Um ScraperAPI zu verwenden, müssen Sie ein Konto erstellen und Ihren API-Schlüssel erhalten. Besuchen Sie die ScraperAPI-Website und registrieren Sie sich für ein kostenloses Konto. Sobald Sie Ihren API-Schlüssel haben, halten Sie ihn griffbereit, da Sie ihn für die nächsten Schritte benötigen.
Schritt 3: Erforderliche Bibliotheken importieren
Importieren Sie zunächst die erforderlichen Bibliotheken. Dazu gehören requests
zum Stellen von HTTP-Anfragen, json
für die Verarbeitung von JSON-Daten und
datetime
zum Versehen der exportierten Dateien mit einem Zeitstempel.
import requests
import json
from datetime import datetime
Schritt 4: Definieren Sie den API-Schlüssel
Ersetzen 'YOUR_API_KEY'
mit Ihrem tatsächlichen ScraperAPI-Schlüssel. Dieser Schlüssel wird verwendet, um Ihre Anfragen an ScraperAPI zu authentifizieren.
# Replace 'YOUR_API_KEY' with your actual ScraperAPI key
API_KEY = 'YOUR_API_KEY'
Schritt 5: Daten abrufen
Erstellen Sie eine Funktion mit dem Namen fetch_data()
das eine Abfrage als Argument verwendet und eine Anfrage erstellt payload
innerhalb der Funktion mit diesem Argument und Ihrem API-Schlüssel.
Senden Sie als nächstes eine get()
Anfrage an ScraperAPIs Walmart Search-Endpunkt. Es wird die JSON-Antwort zurückgegeben, wenn die Anfrage erfolgreich ist (Statuscode 200). Wenn nicht, wird eine Fehlermeldung ausgegeben.
Sie können die URL anpassen, um beliebige ScraperAPI-Suchendpunkte zu verwenden.
def fetch_data(query, page):
payload = {
'api_key': API_KEY,
'query': query,
}
# Send a request to ScraperAPI Walmart Search endpoint
response = requests.get('https://api.scraperapi.com/structured/walmart/search', params=payload)
if response.status_code == 200:
return response.json()
else:
print(f'Error: {response.status_code}')
return None
Schritt 6: Exportieren Sie die gesammelten Daten nach JSON
Erstellen Sie eine Funktion mit dem Namen export_to_json()
das die abgerufenen Daten und einen Dateinamen als Argumente verwendet und die json.dump()
Methode zum Exportieren der Daten in eine JSON-Datei mit dem angegebenen Dateinamen. Stellen Sie sicher, dass die Datei zur besseren Lesbarkeit eingerückt ist.
def export_to_json(data, filename):
with open(filename, 'w') as f:
json.dump(data, f, indent=4)
print(f'Data exported to {filename}')
Schritt 7: Erstellen Sie die main()-Funktion
Erstellen Sie die main()
Funktion, die die Abfragen angibt, die Daten abruft und sie in eine JSON-Datei exportiert. Um das Überschreiben von Dateien zu vermeiden, fügen Sie einen Zeitstempel in den Dateinamen ein und drucken Sie eine Meldung, um den Abrufvorgang anzuzeigen. Dies ist hilfreich für uns, da es uns zeigt, was mit unserem Code passiert.
Sie können die queries
Liste, um alle Elemente einzuschließen, nach denen Sie suchen möchten:
def main():
queries = ('wireless headphones')
for query in queries:
print(f"Fetching data for query: '{query}'")
data = fetch_data(query)
if data:
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
json_filename = f'data_{timestamp}.json'
export_to_json(data, json_filename)
Schritt 8: Führen Sie das Skript aus
Nachdem Sie nun alles vorbereitet haben, führen Sie die Hauptfunktion aus, wenn das Skript ausgeführt wird.
if __name__ == "__main__":
main()
Schritt 9: Planen der Datenerfassung
Derzeit müssen Sie dieses Datenerfassungstool jedes Mal manuell ausführen, wenn Sie Ihre Daten aktualisieren möchten. In vielen Fällen möchten Sie jedoch im Laufe der Zeit mehr Daten erfassen, ohne das Skript manuell ausführen zu müssen.
Sie können das Datenerfassungsskript so planen, dass es in regelmäßigen Abständen ausgeführt wird, um Ihre Daten auf dem neuesten Stand zu halten. Eine Möglichkeit hierfür ist die Verwendung eines Taskplaners wie cron unter Linux oder Taskplaner unter Windows.
Planen mit dem Taskplaner (Windows)
Um die Ausführung Ihres Datenerfassungsskripts mithilfe der Aufgabenplanung in Windows zu automatisieren, befolgen Sie diese detaillierten Schritte:
-
Öffnen Sie den Taskplaner:
Drücken Sie
Win + S
um die Suchleiste zu öffnen, geben Sie „Taskplaner“ ein und drücken Sie die Eingabetaste. -
Neue Aufgabe erstellen:
Klicken Sie im Fenster „Aufgabenplanung“ im Aktionsbereich rechts auf „Aufgabe erstellen“.
-
Nennen und beschreiben Sie Ihre Aufgabe:
Geben Sie auf der Registerkarte „Allgemein“ einen Namen für Ihre Aufgabe (z. B. „Datenerfassungsskript“) und eine optionale Beschreibung ein. Wählen Sie „Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht“, wenn die Aufgabe auch ausgeführt werden soll, wenn Sie nicht angemeldet sind.
-
Legen Sie den Auslöser fest:
Gehen Sie zur Registerkarte „Trigger“ und klicken Sie auf „Neu“.
Stellen Sie den Auslöser auf den gewünschten Zeitplan ein. Um das Skript beispielsweise täglich um Mitternacht auszuführen, wählen Sie „Täglich“, stellen Sie die Startzeit auf 00:00 Uhr ein und konfigurieren Sie die Wiederholungseinstellungen nach Bedarf.
Klicken Sie auf „OK“, um den Trigger zu speichern.
-
Legen Sie die Aktion fest:
Gehen Sie zur Registerkarte „Aktionen“ und klicken Sie auf „Neu“.
Wählen Sie im Dropdown-Menü „Aktion“ die Option „Programm starten“ aus.
Klicken Sie auf „Durchsuchen“ und navigieren Sie zum Speicherort Ihrer Python-Programmdatei (z. B. C:\Python39\python.exe).
Geben Sie im Feld „Argumente hinzufügen“ den Pfad zu Ihrer Skriptdatei ein (z. B.
C:\Pfad\zu\Ihrem\script.py).Klicken Sie auf „OK“, um die Aktion zu speichern.
-
Speichern und Ausführen der Aufgabe:
Klicken Sie auf „OK“, um die Aufgabe zu speichern.
Wenn Sie „Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht“ ausgewählt haben, werden Sie zur Eingabe Ihres Kennworts aufgefordert.
Um Ihre Aufgabe zu testen, klicken Sie in der Aufgabenplanungsbibliothek mit der rechten Maustaste darauf und wählen Sie „Ausführen“.
Indem Sie diese Schritte befolgen, können Sie Ihre Datenerfassungsaufgaben automatisieren und sicherstellen, dass Ihr Datenerfassungstool regelmäßig und ohne manuelle Eingriffe ausgeführt wird.
ScraperAPI vereinfacht das Umgehen von Anti-Scraping-Maßnahmen und den Zugriff auf strukturierte Daten von Walmart. Durch die Integration in eine geplante Aufgabe können Sie kontinuierlich aktuelle Daten zur Analyse, Berichterstattung oder Integration in andere Systeme sammeln. Dieser Ansatz spart nicht nur Zeit, sondern verbessert auch die Effizienz und Zuverlässigkeit Ihrer Datenerfassungsbemühungen.