Vinted ist eine Website zum Kauf und Verkauf von Second-Hand-Kleidung, die in mehreren Ländern Europas verfügbar ist. Manchmal ist es nützlich, die Fotos eines Artikels herunterzuladen.
Zum Zeitpunkt des Verfassens dieses Artikels (14. Oktober 2023) ist das Löschen von Informationen von der Vinted-Website recht einfach. Alle Details finden Sie weiter unten. Sie können alle Fotos mit einem kleinen Bash-Skript herunterladen, ohne Python zu benötigen.
Wenn Sie jedoch weitere Informationen benötigen (nicht nur die Fotos) oder nicht wissen, wie Befehle in der Befehlszeile weitergeleitet werden, finden Sie hier ein Python-Skript, das Folgendes tut:
Laden Sie die Details zu einem Vinted-Produkt herunter und extrahieren Sie sie. Dieser JSON enthält alle verfügbaren Informationen zum Produkt, zum Benutzer, zu den Fotos usw.
Laden Sie alle Fotos des Produkts in voller Auflösung herunter
Laden Sie das Profilbild des Verkäufers herunter (mit der Option --seller
)
Es funktioniert so:
python3 vinted_downloader.py "PRODUCT_URL"# oder, um auch das Verkäuferprofil herunterzuladen:python3 vinted_downloader.py --seller "PRODUCT_URL"# oder, um auch alle im Verkäuferprofil verfügbaren Artikel herunterzuladen:python3 vinted_downloader.py --all "PRODUCT_URL "
Dann erhalten Sie folgende Dateien:
item.json
: alle Informationen, die Sie wollen und nicht wollen
item_summary
: Hauptinformationen (URL, Titel, Beschreibung usw.)
photo_01.jpg
: alle Fotos für den Artikel
seller.jpg
: mit der Option --seller
Verwenden Sie die Option -o
, um ein Ausgabeverzeichnis anzugeben (Standard ist das aktuelle Verzeichnis). Wenn es nicht existiert, wird es erstellt. Wenn Sie die Dateien in einem Unterverzeichnis des Verzeichnisses -o
speichern möchten, das automatisch nach der Element-ID und dem Titel benannt wird, verwenden Sie die Option --save-in-dir
. Um beispielsweise automatisch das Verzeichnis my-output/1234-item-title/
zu erstellen und zu speichern, führen Sie Folgendes aus:
python3 vinted_downloader.py -o my-output --save-in-dir "https://www.vinted.fr/items/1234-item-title"
Wenn Sie die Option -o
weglassen, wird es in einem Unterverzeichnis des aktuellen Verzeichnisses gespeichert, nämlich ./1234-item-title/
.
Wenn der Artikel verkauft ist, führt das Aufrufen der URL zu der Kategorie und nicht zum Artikel, es sei denn, Sie sind angemeldet. Um dies zu vermeiden, fügen Sie am Ende der URL ?noredirect=1
hinzu.
Wenn Sie es mit pip
installiert haben, können Sie auch den Befehl vinted-downloader
verwenden:
vinted-downloader „PRODUCT_URL“vinted-downloader –seller „PRODUCT_URL“vinted-downloader –all „PRODUCT_URL“
pip
Der Download des Vinted-Produkts erfolgt auf PyPI, sodass Sie Folgendes ausführen können:
pip3 vinted-downloader installieren
Alle Abhängigkeiten werden automatisch installiert.
Anschließend können Sie den Befehl vinted-downloader
wie folgt verwenden:
vinted-downloader [--seller] [-o DIR] [--all] „PRODUCT_URL“
oder, wenn Sie lieber Python verwenden:
python3 -m vinted_downloader [--seller] [-o DIR] [--all] „PRODUCT_URL“
Um das Paket zu aktualisieren, führen Sie Folgendes aus:
pip3 install --upgrade vinted-downloader
Zuerst müssen Sie Python installieren:
Gehen Sie zu https://www.python.org/downloads/
Laden Sie das Installationsprogramm „Python für Windows“ herunter.
Führen Sie das Installationsprogramm aus (klicken Sie auf die heruntergeladene Datei).
Aktivieren Sie das Kontrollkästchen „Python.exe zum PATH hinzufügen“ (dies ist SEHR WICHTIG , siehe Bild unten).
Klicken Sie auf „Jetzt installieren“
Öffnen Sie dann die Eingabeaufforderung (geben Sie „prompt“ in die Suchleiste am unteren Bildschirmrand ein):
Geben Sie python --version
ein, um zu überprüfen, ob Python korrekt installiert ist (Sie sollten die Version von Python sehen und keine Fehlermeldung).
Geben Sie pip install vinted-downloader
. Dadurch werden der Downloader und seine Abhängigkeiten installiert
Dann verwenden Sie es wie oben beschrieben. Zum Beispiel:
vinted-downloader „PRODUCT_URL“vinted-downloader –seller „PRODUCT_URL“vinted-downloader –all „PRODUCT_URL“
Wenn der Befehl vinted-downloader
nicht funktioniert, verwenden Sie:
python -m vinted_downloader „PRODUCT_URL“
Führen Sie zum Aktualisieren Folgendes aus:
pip install --upgrade vinted-downloader
Klonen Sie das Github-Repository und installieren Sie die Abhängigkeiten.
Für Linux und MacOS:
# clone:git clone https://github.com/boberle/vinted-downloader.git# install deps:cd vinted-downloader python3 -m venv venvsource venv/bin/activate pip install -r require.txt# use:python3 vinted_downloader.py "PRODUCT_URL"
Alle Artikelinformationen befinden sich in einer JSON-Datei, die zusammen mit der HTML-Datei heruntergeladen wird. Die Produkt-ID finden Sie in der URL eines Artikels: https://www.vinted.TLD/items/ITEM_ID-slug
.
Sobald Sie die Artikel-ID erhalten haben, müssen Sie nur noch die JSON-Datei unter https://www.vinted.TLD/api/v2/items/ITEM_ID?localize=false
herunterladen.
Wenn Sie es beispielsweise mit Curl herunterladen, erhalten Sie die Fehlermeldung „nicht autorisiert“. Sie müssen zunächst eine Verbindung zu einer HTML-Seite herstellen (z. B. der Vinted-Homepage mit derselben TLD wie die Produktseite), um die Authentifizierungscookies zu erhalten (auch wenn es sich um eine anonyme Authentifizierung handelt) und diese dann wiederzuverwenden. Aus diesem Grund verwendet das folgende Bash-Skript zwei curl
-Befehle.
Die interessanten Teile des JSON sind die folgenden (unter Verwendung jq
-Formats):
cat itemdetails.json | jq ".item.title" cat itemdetails.json | jq ".item.description" cat itemdetails.json | jq ".item.photos[] | .full_size_url" cat itemdetails.json | jq ".item.user.login" cat itemdetails.json | jq ".item.user.last_logged_on_ts" cat itemdetails.json | jq ".item.user.photo.full_size_url"
Aber man findet im JSON noch viel mehr Informationen (den Preis, ob der Artikel reserviert, versteckt usw.), wirklich alles, was auf der Seite angezeigt wird, und noch mehr.
Wenn Sie die Fotos also nur mit einem Bash-Skript in Originalgröße herunterladen möchten:
url=$1item_id=`echo „$url“ | grep -oP "(?<=/)d+(?=-)"`curl -H "Akzeptieren: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: fr-FR,fr;q=0.5" -H "Verbindung: Keep-Alive" -H „Sec-Fetch-Dest: Dokument“ -H „Sec-Fetch-Mode: Navigieren“ -H „Sec-Fetch-Site: Cross-Site“ -H „TE: Trailer“ -H „Upgrade-Insecure-Requests: 1 " -H "Benutzeragent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0" --cookie-jar "vinted_cookies.txt" --output vinted_home.out "https://www.vinted.fr"curl -H "Akzeptieren: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: fr-FR,fr;q=0.5" -H "Verbindung: Keep-Alive" -H „Sec-Fetch-Dest: Dokument“ -H „Sec-Fetch-Mode: Navigieren“ -H „Sec-Fetch-Site: Cross-Site“ -H „TE: Trailer“ -H „Upgrade-Insecure-Requests: 1 " -H "Benutzeragent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0" --cookie "vinted_cookies.txt" --output vinted_item.out „https://www.vinted.fr/api/v2/items/$item_id?localize=false“count=0for photo_url in `cat vinted_item.out | gzip -d | jq -r ".item.photos[] | .full_size_url"`do Locken -H „Akzeptieren: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8“ -H „Accept-Encoding: gzip, deflate, br“ -H "Accept-Language: fr-FR,fr;q=0.5" -H „Verbindung: Keep-Alive“ -H „Sec-Fetch-Dest: Dokument“ -H „Sec-Fetch-Modus: Navigieren“ -H „Sec-Fetch-Site: Cross-Site“ -H „Upgrade-Unsichere-Anfragen: 1“ -H „Benutzeragent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0“ --output „vinted_photo_$count.jpg“ $photo_url ((count++)) || wahrgetan
Speichern Sie es einfach in einer Datei download_full_size_images.sh
und rufen Sie es auf mit:
bash -e -x download_full_size_images.sh URL_OF_THE_ITEM
(Passen Sie die TLD im Skript an die TLD Ihres Artikels an)
Dies ist Version 2. Nicht rückkompatibel mit Version 1.