Heim Backend-Entwicklung Python-Tutorial Scraping von Daten mit DevTools und HAR-Dateien

Scraping von Daten mit DevTools und HAR-Dateien

Dec 31, 2024 am 08:16 AM

Data Scraping ist ein entscheidender Faktor für alle, die aussagekräftige Informationen aus Websites extrahieren möchten. Mit Tools wie Chrome DevTools und HAR-Dateien können Sie versteckte APIs aufdecken und wertvolle Datenströme mühelos erfassen. In diesem Beitrag erzähle ich, wie ich diese Tools verwendet habe, um Produktdaten von Blinkit, einer Lebensmittellieferplattform, zu extrahieren, und zeige Ihnen, wie Sie das auch tun können.

Warum ich mich für Data Scraping für meine Lebensmittel-App entschieden habe

Als ich eine App für die Lieferung von Lebensmitteln entwickelte, stand ich vor einer großen Herausforderung – dem Mangel an echten Daten. Die Erstellung eines eigenen Datensatzes von Grund auf wäre äußerst zeitaufwändig gewesen und hätte keinen wirklichen Vorteil für das Projekt gebracht. Ich brauchte eine schnellere und praktischere Lösung, was mich auf die Idee brachte, Daten zu extrahieren. Durch das Extrahieren von Produktdetails aus Blinkit konnte ich genaue, reale Daten erhalten, um meine App zu testen und zu verfeinern, ohne Ressourcen zu verschwenden.

Gängige Methoden zum Scrapen von Daten im Web

  1. Manuelles Kopieren und Einfügen

    • Einfach, aber mühsam. Geeignet zum Extrahieren kleiner Datenmengen.
  2. Web-Scraping-Tools

    • Tools wie Scrapy, BeautifulSoup oder Puppeteer automatisieren den Prozess der Datenextraktion von Websites.
    • Am besten für die strukturierte Datenextraktion in größerem Maßstab geeignet.
  3. API-Integration

    • Einige Websites bieten öffentliche APIs für den direkten und legalen Zugriff auf ihre Daten an.
    • Erfordert Kenntnisse über API-Endpunkte und Authentifizierungsprozesse.
  4. Browser DevTools

    • Inspizieren Sie Netzwerkanfragen, erfassen Sie HAR-Dateien oder analysieren Sie Seitenelemente direkt im Browser.
    • Ideal zum Identifizieren versteckter APIs oder JSON-Daten.
  5. Kopflose Browser

    • Verwenden Sie Headless-Browserbibliotheken wie Puppeteer oder Selenium, um Navigation und Scraping zu automatisieren.
    • Ideal für Websites, die JavaScript-Rendering oder -Interaktion erfordern.
  6. HAR-Dateien analysieren

    • HAR-Dateien erfassen alle Netzwerkaktivitäten für eine Webseite. Sie können analysiert werden, um APIs, JSON-Antworten oder andere Daten zu extrahieren.
    • Nützlich für Websites mit dynamischen Inhalten oder versteckten Daten.
  7. HTML-Analyse

    • Extrahieren Sie Daten, indem Sie HTML-Inhalte mithilfe von Bibliotheken wie BeautifulSoup (Python) oder Cheerio (Node.js) analysieren.
    • Wirksam für einfache, statische Websites.
  8. Datenextraktion aus PDFs oder Bildern

    • Tools wie PyPDF2, Tesseract (OCR) oder Adobe APIs helfen beim Extrahieren von Text aus Dateien, wenn Daten nicht online verfügbar sind.
  9. Automatisierte Skripte

    • Benutzerdefinierte Skripte, die in Python, Node.js oder ähnlichen Sprachen geschrieben sind, um Daten zu extrahieren, zu analysieren und zu speichern.
    • Bietet vollständige Kontrolle über den Schabevorgang.
  10. APIs von Drittanbietern

    • Verwenden Sie Dienste wie DataMiner, Octoparse oder Scrapy Cloud, um Scraping-Aufgaben für Sie zu erledigen.
    • Spart Zeit, kann aber aufgrund von Serviceplänen Einschränkungen haben.

Ich habe mich für die HAR-Dateianalyse entschieden

Was ist eine HAR-Datei?

Scraping Data with DevTools and HAR Files

Eine HAR-Datei (HTTP-Archiv) ist eine JSON-formatierte Archivdatei, die die Netzwerkaktivität einer Webseite aufzeichnet. Es enthält detaillierte Informationen zu jeder HTTP-Anfrage und -Antwort, einschließlich Header, Abfrageparameter, Nutzlasten und Timings. HAR-Dateien werden häufig zum Debuggen, zur Leistungsanalyse und in diesem Fall zum Daten-Scraping verwendet.

Struktur einer HAR-Datei

Eine HAR-Datei besteht aus mehreren Abschnitten, die wichtigsten sind:

Scraping Data with DevTools and HAR Files

  1. Protokoll

    • Das Stammobjekt einer HAR-Datei, das Metadaten über die aufgezeichnete Sitzung und die erfassten Einträge enthält.
  2. Einträge

    • Ein Array von Objekten, bei dem jeder Eintrag eine einzelne HTTP-Anfrage und die entsprechende Antwort darstellt.

Zu den wichtigsten Eigenschaften gehören:

  • Anfrage: Details zur Anfrage, wie URL, Header, Methode und Abfrageparameter.
  • Antwort: Informationen zur Antwort, einschließlich Statuscode, Header und Inhalt.
  • Timings: Die Aufschlüsselung der Zeit, die während des Anfrage-Antwort-Zyklus verbracht wurde (z. B. DNS, Verbinden, Warten, Empfangen).
  1. Seiten

    • Enthält Daten zu den Webseiten, die während der Sitzung geladen wurden, wie z. B. den Seitentitel, die Ladezeit und den Zeitstempel, wann die Seite geöffnet wurde.
  2. Ersteller

    • Metadaten über das Tool oder den Browser, mit dem die HAR-Datei generiert wurde, einschließlich Name und Version.

Warum ich mich für das Parsen von HAR-Dateien entschieden habe

HAR-Dateien bieten eine umfassende Momentaufnahme aller Netzwerkaktivitäten auf einer Webseite. Dadurch eignen sie sich perfekt zum Identifizieren versteckter APIs, zum Erfassen von JSON-Nutzlasten und zum Extrahieren der genauen Daten, die für das Scraping erforderlich sind. Das strukturierte JSON-Format vereinfacht auch den Parsing-Prozess mithilfe von Tools wie Python- oder JavaScript-Bibliotheken.

Der Plan: Scraping von Daten mithilfe der HAR-Dateianalyse

Scraping Data with DevTools and HAR Files

Um Produktdaten effizient aus Blinkit zu extrahieren, folgte ich einem strukturierten Plan:

  1. Netzwerkaktivitäten durchsuchen und erfassen
    • Blinkits Website geöffnet und Chrome DevTools gestartet.
    • Durchsuchte verschiedene Produktseiten, um alle erforderlichen API-Aufrufe im Netzwerk-Tab zu erfassen.

Scraping Data with DevTools and HAR Files

  1. HAR-Datei exportieren

    • Die aufgezeichnete Netzwerkaktivität wurde als HAR-Datei zur Offline-Analyse gespeichert.
  2. Parsen der HAR-Datei

    • Verwendete Python, um die HAR-Datei zu analysieren und relevante Daten zu extrahieren.
    • Drei Schlüsselfunktionen wurden erstellt, um den Prozess zu optimieren:
  • Funktion 1: Relevante Antworten filtern
    • Alle Antworten, die mit dem Endpunkt /listing?catId=* übereinstimmen, wurden extrahiert, um produktbezogene Daten zu erhalten.

Scraping Data with DevTools and HAR Files

  • Funktion 2: Daten bereinigen und extrahieren
    • Die gefilterten Antworten wurden verarbeitet, um Schlüsselfelder wie ID, Name, Kategorie und mehr zu extrahieren.

Scraping Data with DevTools and HAR Files

  • Funktion 3: Bilder lokal speichern
    • Alle Produktbild-URLs in den Daten identifiziert und als Referenz in lokale Dateien heruntergeladen.

Scraping Data with DevTools and HAR Files

  1. Ausführung und Ergebnisse
    • Der gesamte Vorgang, einschließlich einiger Versuche und Irrtümer, dauerte etwa 30–40 Minuten.
    • Daten für etwa 600 Produkte, einschließlich Namen, Kategorien und Bilder, wurden erfolgreich extrahiert.

Scraping Data with DevTools and HAR Files

Dieser Ansatz ermöglichte es mir, schnell und effizient die notwendigen Daten für meine Lebensmittelliefer-App zu sammeln.

Fazit

Data Scraping kann, wenn es effizient durchgeführt wird, viel Zeit und Mühe sparen, insbesondere wenn Sie reale Daten zum Testen oder Erstellen einer Anwendung benötigen. Durch die Nutzung von Chrome DevTools und HAR-Dateien konnte ich schnell wertvolle Produktdaten aus Blinkit extrahieren, ohne manuell einen Datensatz erstellen zu müssen. Der Prozess erforderte zwar einige Versuche, war aber unkompliziert und bot eine praktische Lösung für ein häufiges Problem, mit dem Entwickler konfrontiert waren. Mit dieser Methode konnte ich in weniger als einer Stunde 600 Produktdetails sammeln, was mir dabei half, mein App-Projekt für die Lieferung von Lebensmitteln voranzutreiben.

Data Scraping sollte jedoch immer ethisch und verantwortungsvoll angegangen werden. Stellen Sie vor dem Scraping immer sicher, dass Sie die Nutzungsbedingungen und rechtlichen Richtlinien einer Website einhalten. Wenn es richtig gemacht wird, kann Scraping ein leistungsstarkes Werkzeug zum Sammeln von Daten und zur Verbesserung Ihrer Projekte sein.

Das obige ist der detaillierte Inhalt vonScraping von Daten mit DevTools und HAR-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Apr 02, 2025 am 07:03 AM

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...

Python 3.6 Laden Sie Giftedatei Fehler ModulenotFoundError: Was soll ich tun, wenn ich die Gurkendatei '__builtin__' lade? Python 3.6 Laden Sie Giftedatei Fehler ModulenotFoundError: Was soll ich tun, wenn ich die Gurkendatei '__builtin__' lade? Apr 02, 2025 am 06:27 AM

Laden Sie die Gurkendatei in Python 3.6 Umgebungsfehler: ModulenotFoundError: Nomodulenamed ...

Was ist der Grund, warum Pipeline -Dateien bei der Verwendung von Scapy Crawler nicht geschrieben werden können? Was ist der Grund, warum Pipeline -Dateien bei der Verwendung von Scapy Crawler nicht geschrieben werden können? Apr 02, 2025 am 06:45 AM

Diskussion über die Gründe, warum Pipeline -Dateien beim Lernen und Verwendung von Scapy -Crawlern für anhaltende Datenspeicher nicht geschrieben werden können, können Sie auf Pipeline -Dateien begegnen ...

See all articles