Heim BlogWeb-Scraping So erstellen Sie ein Datenerfassungstool (+ Beispiele)

So erstellen Sie ein Datenerfassungstool (+ Beispiele)

von Kadek

Lass uns anfangen!

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:

  1. Öffnen Sie den Taskplaner:

    Drücken Sie Win + S um die Suchleiste zu öffnen, geben Sie „Taskplaner“ ein und drücken Sie die Eingabetaste.

  2. Neue Aufgabe erstellen:

    Klicken Sie im Fenster „Aufgabenplanung“ im Aktionsbereich rechts auf „Aufgabe erstellen“.

    Erstellen einer neuen Aufgabe mit dem Windows-TaskplanerErstellen einer neuen Aufgabe mit dem Windows-Taskplaner
  3. 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.

    Beschreiben der Aufgabe mit dem Windows-TaskplanerBeschreiben der Aufgabe mit dem Windows-Taskplaner
  4. Legen Sie den Auslöser fest:

    Gehen Sie zur Registerkarte „Trigger“ und klicken Sie auf „Neu“.

    Erstellen eines neuen Triggers mit dem Windows-TaskplanerErstellen eines neuen Triggers mit dem Windows-Taskplaner

    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.

    Planen eines neuen Triggers mit dem Windows-TaskplanerPlanen eines neuen Triggers mit dem Windows-Taskplaner

    Klicken Sie auf „OK“, um den Trigger zu speichern.

    Speichern des Triggers mit dem Windows-TaskplanerSpeichern des Triggers mit dem Windows-Taskplaner
  5. Legen Sie die Aktion fest:

    Gehen Sie zur Registerkarte „Aktionen“ und klicken Sie auf „Neu“.

    Festlegen der Aktion mit dem Windows-TaskplanerFestlegen der Aktion mit dem Windows-Taskplaner

    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).

    Starten eines Programms mit dem Windows-TaskplanerStarten eines Programms mit dem Windows-Taskplaner

    Klicken Sie auf „OK“, um die Aktion zu speichern.

  6. 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.

Related Posts

Hinterlasse einen Kommentar