Vinted merupakan website jual beli pakaian bekas yang tersedia di beberapa negara di Eropa. Terkadang berguna untuk mengunduh foto-foto sebuah artikel.
Pada saat penulisan ini (14 Oktober 2023), menghapus informasi dari situs web Vinted cukup mudah. Anda dapat menemukan semua detailnya di bawah. Anda dapat mengunduh semua foto dengan skrip bash kecil, bahkan tanpa memerlukan python.
Namun jika Anda ingin informasi lebih lanjut (bukan hanya fotonya) atau tidak tahu cara menyalurkan perintah pada baris perintah, berikut adalah skrip python yang akan:
unduh dan ekstrak detail tentang produk Vinted. Json ini berisi semua informasi yang tersedia untuk produk, pengguna, foto, dll.
unduh semua foto produk dalam resolusi penuh
unduh gambar profil penjual (dengan opsi --seller
)
Ini berfungsi seperti ini:
python3 vinted_downloader.py "product_URL"# atau, untuk juga mengunduh profil penjual:python3 vinted_downloader.py --seller "product_URL"# atau, untuk juga mengunduh semua item yang tersedia di profil penjual:python3 vinted_downloader.py --all "product_url" "
Kemudian Anda mendapatkan file berikut:
item.json
: semua informasi yang Anda inginkan dan tidak inginkan
item_summary
: informasi utama (url, judul, deskripsi, dll.)
photo_01.jpg
: semua foto untuk item tersebut
seller.jpg
: dengan opsi --seller
Gunakan opsi -o
untuk menentukan direktori keluaran (defaultnya adalah direktori saat ini). Jika tidak ada, maka akan dibuat. Jika Anda ingin menyimpan file dalam subdirektori dari direktori -o
yang secara otomatis dinamai menurut id dan judul item, gunakan opsi --save-in-dir
. Misalnya, untuk membuat dan menyimpan secara otomatis di direktori my-output/1234-item-title/
, jalankan:
python3 vinted_downloader.py -o keluaran saya --save-in-dir "https://www.vinted.fr/items/1234-item-title"
Jika Anda menghilangkan opsi -o
, maka akan disimpan di subdirektori dari direktori saat ini, yaitu ./1234-item-title/
.
Jika barang terjual, maka url yang masuk akan mengarahkan ke kategori, bukan barangnya, kecuali jika Anda sudah login. Untuk menghindarinya, tambahkan ?noredirect=1
di akhir url.
Jika Anda telah menginstalnya dengan pip
, Anda juga dapat menggunakan perintah vinted-downloader
:
vinted-downloader "product_url"vinted-downloader --penjual "product_url"vinted-downloader --semua "product_url"
pip
Pengunduhan produk Vinted ada di PyPI, sehingga Anda dapat menjalankan:
pip3 instal pengunduh vinted
Semua dependensi diinstal secara otomatis.
Anda kemudian dapat menggunakan perintah vinted-downloader
seperti ini:
pengunduh vinted [--penjual] [-o DIR] [--semua] "PRODUK_URL"
atau, jika Anda lebih suka menggunakan python:
python3 -m vinted_downloader [--penjual] [-o DIR] [--semua] "PRODUK_URL"
Untuk memperbarui paket, jalankan:
instalasi pip3 --upgrade vinted-downloader
Pertama, Anda perlu menginstal Python:
buka https://www.python.org/downloads/
unduh penginstal "Python untuk Windows"
jalankan penginstal (klik pada file yang diunduh)
centang kotak "Add python.exe to PATH" (ini SANGAT PENTING , lihat gambar dibawah)
klik "Instal Sekarang"
Kemudian buka Command Prompt (ketik "prompt" di bilah pencarian di bagian bawah layar):
ketik python --version
untuk memeriksa apakah Python sudah terpasang dengan benar (Anda akan melihat versi Python, dan bukan pesan kesalahan)
ketik pip install vinted-downloader
. Ini akan menginstal pengunduh dan dependensinya
Kemudian gunakan seperti dijelaskan di atas. Misalnya:
vinted-downloader "product_url"vinted-downloader --penjual "product_url"vinted-downloader --semua "product_url"
Jika perintah vinted-downloader
tidak berfungsi, gunakan:
python -m vinted_downloader "PRODUK_URL"
Untuk memperbarui, jalankan:
pip install --upgrade vinted-downloader
Kloning repositori github dan instal dependensinya.
Untuk Linux dan MacOS:
# clone:git clone https://github.com/boberle/vinted-downloader.git# install deps:cd vinted-downloader python3 -m venv venvsource venv/bin/aktifkan instalasi pip -r persyaratan.txt# gunakan:python3 vinted_downloader.py "PRODUK_URL"
Semua informasi item ada dalam file JSON yang diunduh bersama file HTML. ID produk ditemukan di url item: https://www.vinted.TLD/items/ITEM_ID-slug
.
Setelah Anda mendapatkan id item Anda hanya perlu mengunduh file JSON di https://www.vinted.TLD/api/v2/items/ITEM_ID?localize=false
.
Jika Anda mendownloadnya dengan curl, misalnya, Anda akan mendapatkan kesalahan "tidak sah". Anda harus terhubung terlebih dahulu ke halaman HTML (misalnya halaman beranda vinted, dengan TLD yang sama dengan halaman produk) untuk mendapatkan cookie autentikasi (meskipun itu adalah autentikasi anonim) dan kemudian menggunakannya kembali. Inilah sebabnya skrip bash di bawah ini menggunakan 2 perintah curl
.
Bagian menarik dari JSON adalah sebagai berikut (menggunakan format jq
):
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"
Namun Anda dapat menemukan lebih banyak informasi di json (harga, apakah item tersebut dipesan, disembunyikan, dll.), semua yang ditampilkan di halaman, dan bahkan lebih banyak lagi.
Jadi, jika Anda ingin mendownload foto dalam ukuran aslinya hanya menggunakan skrip bash:
url=$1item_id=`gema "$url" | grep -oP "(?<=/)d+(?=-)"`ikal -H "Terima: teks/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" -H "Terima-Encoding: gzip, deflate, br" -H "Bahasa Terima: fr-FR,fr;q=0,5" -H "Koneksi: tetap hidup" -H "Sec-Fetch-Dest: dokumen" -H "Sec-Fetch-Mode: navigasi" -H "Sec-Fetch-Site: lintas situs" -H "TE: trailer" -H "Permintaan Peningkatan-Tidak Aman: 1 " -H "Agen Pengguna: 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" keriting -H "Terima: teks/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" -H "Terima-Encoding: gzip, deflate, br" -H "Bahasa Terima: fr-FR,fr;q=0,5" -H "Koneksi: tetap hidup" -H "Sec-Fetch-Dest: dokumen" -H "Sec-Fetch-Mode: navigasi" -H "Sec-Fetch-Site: lintas situs" -H "TE: trailer" -H "Permintaan Peningkatan-Tidak Aman: 1 " -H "Agen Pengguna: 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=0untuk photo_url di `cat vinted_item.out | gzip -d | jq -r ".item.photos[] | .full_size_url"`lakukan keriting -H "Terima: teks/html,aplikasi/xhtml+xml,aplikasi/xml;q=0.9,gambar/avif,gambar/webp,*/*;q=0.8" -H "Terima-Encoding: gzip, mengempis, br" -H "Bahasa Terima: fr-FR,fr;q=0,5" -H "Koneksi: tetap hidup" -H "Sec-Fetch-Dest: dokumen" -H "Mode Pengambilan Detik: navigasi" -H "Sec-Fetch-Site: lintas situs" -H "Permintaan Peningkatan-Tidak Aman: 1" -H "Agen-Pengguna: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0" --keluaran "vinted_photo_$count.jpg" $foto_url ((hitung++)) || benar dilakukan
Simpan saja dalam file download_full_size_images.sh
dan beri nama dengan:
bash -e -x unduh_ukuran_penuh_gambar.sh URL_OF_THE_ITEM
(sesuaikan TLD di script dengan TLD item anda)
Ini adalah versi 2. Tidak kembali kompatibel dengan versi 1.