Wie ich das Scraping von Daten von der Website gelernt habe

Über mich

Ich bin ein begeisterter Webentwickler und habe mehr als 8 Jahre Erfahrung in der Webentwicklung. Ich praktiziere PHP, seit ich meine Karriere begonnen habe. Ich habe nie genug davon bekommen, es lehrt jeden Tag etwas Neues. So wie ich mit Laravel Dusk & Selenium das Verschrotten lerne.

Warum ich das Scraping von Daten von der Website lernen wollte

Ich bin auf diese Scraping-Methodik gestoßen, als mich einer meiner Kunden gebeten hat, Daten aus dem Magento-Admin-Panel ohne API- oder DB-Zugriff abzurufen. Alles, was er bereitgestellt hat, war das Magento-Admin-Panel. Bevor ich etwas über Selenium/Dusk gelernt habe, habe ich die Websites geparst/verschrottet, die keine komplexe Benutzeroberfläche wie Magento Dashboard haben.

Wie ich an das Lernen herangegangen bin Daten von der Website zu kratzen

In Bezug auf das Lernen des Scrapings müssen Sie eine der folgenden Methoden lernen. Diese Methoden wurden vollständig von mir erfunden.

  1. Andere als Laravel (meistens zentrale PHP-Anwendungen)
  2. Verwenden von Laravel Dusk

1. Anders als Laravel

Ich habe dieses zuerst genommen, weil ich zum Zeitpunkt des Starts nicht wusste, dass Laravel bereits eine eingebaute Bibliothek bereitstellt, um Aufgaben wie Testen und Scraping zu automatisieren. Um zu beginnen, benötigen Sie folgende Werkzeuge.
Selen
Selenium automatisiert Browser. Das ist es! Was Sie mit dieser Kraft tun, liegt ganz bei Ihnen. In erster Linie dient es der Automatisierung von Webanwendungen zu Testzwecken, ist aber sicherlich nicht nur darauf beschränkt. Auch langweilige webbasierte Verwaltungsaufgaben können (und sollten!) automatisiert werden.

Quelle: SelenHQ

Chromedriver
WebDriver ist ein Open-Source-Tool zum automatisierten Testen von Webapps in vielen Browsern. Es bietet Funktionen zum Navigieren zu Webseiten, Benutzereingaben, JavaScript-Ausführung und mehr. ChromeDriver ist ein eigenständiger Server, der das Wire-Protokoll von WebDriver für Chromium implementiert.

Quelle: Chrome-Treiber

Facebooks PHP-Bibliothek für WebDriver
Nun, dazu gibt es nicht viel zu sagen. Die Bibliothek spricht für sich, schnapp sie dir.

Quelle: PHP-Webtreiber

2. Verwenden Sie Laravel Dusk

Nun, Sie müssen nichts manuell installieren. Laravel Dusk bietet eine ausdrucksstarke, benutzerfreundliche Browserautomatisierungs- und Test-API. Standardmäßig erfordert Dusk nicht, dass Sie JDK oder Selenium auf Ihrem Computer installieren. Stattdessen verwendet Dusk eine eigenständige ChromeDriver-Installation. Es steht Ihnen jedoch frei, jeden beliebigen anderen Selenium-kompatiblen Treiber zu verwenden.

Quelle: Laravel Dämmerung

Herausforderungen, denen ich mich gestellt habe

Wie ich bereits erwähnt habe, stehen Sie jedes Mal vor einer neuen Herausforderung, wenn Sie mit dem Scrapen einer Website beginnen. Sie kennen die Art der Website nicht, welche Art von Element sie hat, wie tief Ihre Daten gespeichert sind. Sie müssen zu jeder einzelnen Seite und ihrem Element gehen, um die richtigen Daten zu finden. Eine Herausforderung, mit der ich anfangs konfrontiert war, bestand darin, den richtigen CSS-Selektor zum Verschrotten von Daten zu finden. Zum Beispiel: Ich weiß nicht, wie man ein Element auswählt, Während das Klickereignis auf ein Menü mit hierarchischen Daten automatisiert wird. Später erfahre ich, dass dies mit dem CSS-Selektor von Google Chrome problemlos möglich ist. Dies Artikel hat mir geholfen, durchzukommen

Die zentralen Thesen

Ich habe es genossen, bei meiner ersten Verschrottungsaufgabe Dateien vom Server herunterzuladen. Die Aufgabe bestand darin, Magento-Bestellungen im CSV-Format zu exportieren. Das war nur ein Liner für Kunden, aber für mich Aufgaben.

  • Öffnen Sie den Browser und klicken Sie auf das Magento-Admin-Panel.
  • Geben Sie den Benutzernamen und das Passwort in das Anmeldefeld ein und klicken Sie auf die Schaltfläche „Senden“.
  • Warten Sie, bis das Dashboard geladen ist
  • Wechseln Sie über das mehrstufige Menü zur Bestellseite.
  • Filtern Sie die Daten nach Daten und senden Sie sie ab
  • Warten Sie, bis die Daten gefiltert wurden, und klicken Sie auf die Schaltfläche CSV exportieren.

Das ist es.!!

Tipps und Ratschläge

Analysieren Sie alles, bevor Sie mit der Scraping-Aufgabe beginnen. Ich hatte Mühe, Selenium zu installieren und es auf einem Server zum Laufen zu bringen, auf dem keine GUI verfügbar war. Es war ein höllisch finsterer Linux-Server. In meinem Fall bin ich mit Selen zur Aufgabe gesprungen und nach 3-4 Tagen, als die Dinge reibungslos zu laufen begannen, erfuhr ich von Laravel Dämmerung. Laravel Dämmerung hat es in 5-10 Minuten geschafft, was ich mit Selen ungefähr 3 Tage gedauert habe. Ich kritisiere Selen nicht. Es ist gut, wenn Sie Java, Python oder eine andere Technologie verwenden. Ich bin ein PHP-Typ. In meinem Fall hatte ich die Möglichkeit, Laravel zu wählen, das ein automatisiertes Testtool namens Dusk eingebaut hat. Der Punkt ist also, dass Sie Ihre Recherchen durchführen, wenn Sie mit PHP oder Laravel nicht vertraut sind. Möglicherweise finden Sie Ihre Laravel-Dämmerung in Ihrer jeweiligen Technologie.

Abschließende Gedanken und nächste Schritte

Mit Laravel Dusks sind die Möglichkeiten endlos. Sie können es für die Automatisierung von Testautomatisierungen oder Aufgaben der Webanwendungsverwaltung verwenden.

Similar Posts

Leave a Reply

Your email address will not be published.