staging.inyokaproject.org

Bestimmten Teil einer Webseite kopieren

Status: Ungelöst | Ubuntu-Version: Kubuntu 21.10 (Impish Indri)
Antworten |

Nur-Ein-Blogger

Anmeldungsdatum:
4. April 2011

Beiträge: 146

Hallo,

meine Frau verkauft bei Vinted einige sachen, allerdings löschen die Mitarbeiter Ihr öfter mal einige Artikel raus, die unserer Meinung nach konform sind. Nun hat Sie bereits einige Artikel eingestellt, aber weder Texte (Beschreibung) noch Bilder irgendwie gesichert.

Nach dem Löschen durch Vinted hat man aber auch keinen Zugriff mehr.

Daher würde ich gerne ihre Artikel runter laden. Seiten wie "HTTrack" laden aber irgendwie "alles" runter oder ich stelle mich nicht klug genug an. Bei wget sieht es dabei ähnlich aus.

Daher hatte ich überlegt das ganze per Macro zu machen aber bevor ich mich in das nächste Thema stürze, würde ich euch gerne Fragen, ob Ihr vielleicht sogar bessere Ideen zur Erreichung des Ziels habt.

Herausforderung: Alle Artikel von der Seite "https://www.vinted.de/member/1234567-benutzername" herunterladen. Beispiel: https://www.vinted.de/member/43494957-dez-mami2010

Hier sind es 175 Artikel

Optional: Wenn man eingeloggt ist, sieht man auch "Entwürfe" die wir gerne sichern würden.

Ich bin über Ideen sehr Dankbar ob ich HTTrack falsch benutze oder es dafür geeignet ist oder per cp oder wget oder "schnell" ein JS schreiben oder oder oder.

Danke euch vielmals ☺

kleinwo

Anmeldungsdatum:
20. Januar 2008

Beiträge: 162

Hallo,

diese Fragestellungen kann man mit wenig aufwand mit einem Python-Skript lösen. Die Artikel sind auf der Seite in <div> Containern organisiert.

Mit "Python Requests" wird die Webseite in einen Puffer eingelesen. Dann werden die relevanten Container mit "Beautiful Soup" herausgefiltert und können dann in geeigneter Form (html, txt, json) abgespeichert werden. Beispiele findet man unter dem Suchbegriff "Python Website Scraping".

Ich verwende dieses Verfahren für einige Skripte, die ich auf einem Raspi laufen habe. Die Ergebnisse lasse ich mir dann vom Raspi per eMail auf eine gesonderte Adresse zuschicken, was dann sehr bequem ist, da man nicht mehr selbst eingreifen muss.

Das Filtern der Inhalte mit "Beautiful Soup" sollte man mal selbst gemacht haben, da das immer von der jeweiligen Seitenstruktur abhängig, also individuell, ist. Wenn man dann so ein "Skript-Gerüst" hat, kann man das dann auch für andere Anwendungen anpassen. Die Ideen kommen dann meist von selbst. Die Seitenstruktur kann man mit einem Browser anzeigen lassen.

Gruß Wolfgang

Nur-Ein-Blogger

(Themenstarter)

Anmeldungsdatum:
4. April 2011

Beiträge: 146

Okay, danke für den Beitrag. Sieht ganz schön kompliziert aus aber ich schaue mal was ich hinbekomme ☺

Nachtrag: Bringt einem das hier etwas? https://www.vinted.de/api/v2/items

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Da hab ich mal eine Verständnisfrage...

Warum sicherst du die Webseite nicht einfach.

Beispiel: https://www.vinted.de/member/43494957-dez-mami2010

Seite im Browser (z.B. Firefox) aufrufen. Bis zum Ende scrollen, damit die 175 Artikel mit Bild angezeigt werden und dann "Seite speichern unter ..."

Damit erhältst du die komplette Seite mit allen Bildern im entsprechenden Verzeichnis. Was willst du mehr? Wenn du das per script automatisieren willst, geht das mit xdotool einfacher als das json script zu parsen und entsprechende Ajax Calls zum Nachladen zu programmieren.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

shiro schrieb:

Damit erhältst du die komplette Seite mit allen Bildern im entsprechenden Verzeichnis. Was willst du mehr? Wenn du das per script automatisieren willst, geht das mit xdotool einfacher als das json script zu parsen und entsprechende Ajax Calls zum Nachladen zu programmieren.

Das sind aber erst mal nur Thumbnails und man kommt auch nicht and die Beschreibung. Wenn man viel Material durcharbeiten muss, könnte Selenium da noch ein Weg sein, der einem die Arbeit abnimmt da selber auf den Seiten herum zu klicken - Treiber gibt es für viele Programmiersprachen (u.a. auch für Python: https://selenium-python.readthedocs.io/) und das Speichern des DOM oder das extrahieren einzelner Bestandteile daraus ist kein Problem.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

So etwas kann man auch mit Ruby mit Mechanize und Nokogiri machen. Aber warum hast Du die Daten nicht vor dem Hochladen gesichert? Wäre das nicht der normale Weg so etwas anzugehen?

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

So etwas kann man auch mit Ruby mit Mechanize und Nokogiri machen.

@rklm, bist du dir sicher, dass Nokogiri mit hochdynamischen Ajax Seiten umgehen kann?

Hintergrund: Ich hatte Applikationen unter MS Excel mit Internet-Explorer realisiert und nach der Abkündigung von IE versucht die Funktionalität mit Selenium/Python zu erreichen. Das war aber nicht erfolgreich, weil Selenium nur ein Aufsatz auf den Browser war. Etliche Dinge liefen aber leider sehr viele nicht. Ich habe es nun anders gelöst.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

shiro schrieb:

So etwas kann man auch mit Ruby mit Mechanize und Nokogiri machen.

@rklm, bist du dir sicher, dass Nokogiri mit hochdynamischen Ajax Seiten umgehen kann?

Ich glaube nicht, dass man das so allgemein beantworten kann. Es kommt auf den konkreten Fall an. Aber sicherlich gibt es Fälle, die man damit nicht erledigen kann, weil man JavaScript braucht.

Hintergrund: Ich hatte Applikationen unter MS Excel mit Internet-Explorer realisiert und nach der Abkündigung von IE versucht die Funktionalität mit Selenium/Python zu erreichen. Das war aber nicht erfolgreich, weil Selenium nur ein Aufsatz auf den Browser war. Etliche Dinge liefen aber leider sehr viele nicht. Ich habe es nun anders gelöst.

Wenn man einen kompletten Browser (d.h. vor allem mit einer funktionierenden JavaScript-Engine) braucht, dann gibt es ja verschiedene Headless Browser, z.B. PhantomJS.

Antworten |