ubuntuusers.de

Website scrapen/curl

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Panzli

Anmeldungsdatum:
17. Dezember 2021

Beiträge: 19

Hallo zusammen,

gerne würde ich testweise mal, wenn möglich folgende Website (https://www.edeka.de/eh/nordbayern-sachsen-th%C3%BCringen/e-center-j%C3%A4ckel-provianthofstra%C3%9Fe-3/angebote.jsp) nach Produkt XYZ durchsuchen, bisher klappte dies mir curl,grep und cut sehr gut. Nun jedoch stehe ich vor der .jsp und kann kein Produkt finden, mit Rechtsklick und Element untersuchen konnte ich jedoch den gesuchten Ausdruck finden. Wie gehe ich das Problem am besten an?

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Wohnort: Göttingen

Wie sieht denn dein bisheriges Konstrukt aus, was bis jetzt funktioniert hat?

Panzli

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2021

Beiträge: 19

Wie obig beschrieben mit curl|grep|cut.

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Wohnort: Göttingen

Und welche Kommandos GENAU? Also bitte im Codeblock einfach mal posten.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

wenn ich das richtig sehe wird die Seite dynamisch generiert und dann erst im Browser fertig gebaut. In so fällen müsstest du einen Headless Browser nehmen, die Seite darin laden und dann suchen. Sowas kann z.B. das Selenium Framework. In wie weit das in ein Bash-Skipt einbettbar ist - keine Ahnung.

Gruß, noisefloor

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11265

Wohnort: München

Machen kann man das schon - ob es einfacher ist als sich z.B. ein Python3-Skript zu basteln sei mal dahin gestellt: Rasukarusan/shellnium

Panzli

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2021

Beiträge: 19

Mit Python kenne ich mich 0 aus, selenium läuft doch aber nicht im CLI oder, denn eine GUI habe ich nicht....

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

natürlich läuft Selenium im Terminal ohne GUI. Selenium ist "headless", also quasi ein Browser ohne Ausgabe der Webseite. Selenium oder vergleichbares brauchst du immer für Seiten, die dynamisch generiert werden (also z.B. Teile im Browser nachladen), weil du dann erst vollen Zugriff auf den DOM hast. Wenn du die gleiche Seite reguläre im Browser öffnest oder per cURL lädtst bekommst du "nur" den Ausgangszustand des DOM und nicht die nachgeladenen Teile.

Und Selenium kann auch mit anderen Sprachen genutzt werden: https://www.selenium.dev/documentation/webdriver/getting_started/

cURL + grep + cut ist halt die ganz triviale Vorgehensweise beim scrappen - kommst man halt auf vielen Seiten nicht sonderlich weit mit.

Gruß, noisefloor

Panzli

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2021

Beiträge: 19

Danke, ich schaue mir das mal an.

Antworten |