Maaf mengganggu Anda, tetapi saya telah menghadapi masalah untuk waktu yang lama. Namun, tidak stabil bagi saya untuk mengunduh kumpulan data besar dari Zenode menggunakan browser. Jadi penggunaan 'wget' muncul di benak saya, tetapi ketika saya mengikuti pendekatan yang disediakan di Issues , saya gagal.
Dari Masalah sebelumnya, saya menggunakan:
curl https://zenodo.org/api/records/3407840
Saya mendapat REST API:
https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
Tapi saya mendapat 404 seperti tidak menggunakan REST API.
wget -r https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
Bisakah Anda membantu saya? Terima kasih!
Karena file catatan ini disetel ke akses terbatas, file tersebut tidak tersedia untuk umum, untuk mengaksesnya Anda memerlukan token akses untuk memverifikasi identitas Anda, yang dapat Anda buat di sini atau Anda harus mengikuti prosedur yang ditampilkan .
Menutup ini karena ini bukan kesalahan.
bagaimana cara menggunakan token pribadi? Ada ide? Terima kasih banyak
saya juga butuh, ada yang tau?
saya juga penasaran
@thesby @keunwoochoi
Berikut adalah langkah-langkah untuk mengunduh file
dari commandline itu sendiri
1- Dapatkan token pribadi (yang mungkin sudah Anda miliki)
2- jalankan perintah berikut
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372?token=<your token here>"
ganti nomor rekaman itu 1117372 dengan yang sesuai
Setelah Anda membuat file cookie,
sekarang buka browser Anda, klik kanan pada tombol unduh dan salin urlnya
seharusnya terlihat seperti https://zenodo.org/record/1117372/files/musdb18.zip?download=1
sekarang ,
jalankan saja perintah ini di terminal Anda,
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372/files/musdb18.zip?download=1" --output musdb18.zip
ganti tautan unduhan dengan url unduhan khusus Anda
dan itu harus mulai mengunduh,
dan ganti nama file di --output musdb18.zip
dengan nama file yang sesuai yang Anda inginkan
ini adalah metode yang bekerja untuk saya,
Beri tahu saya jika Anda menghadapi masalah,
Semoga harimu menyenangkan !
Saya mengalami masalah dengan pendekatan cookie, jadi saya menggunakan pendekatan API zenodo (dengan Python).
Pertama, saya membuat token akses Pribadi (BUKAN Aplikasi Pengembang), dan menetapkannya ke variabel saya ACCESS_TOKEN
. Kemudian saya menanyakan semua file yang tersedia untuk diunduh di catatan saya:
import requests
ACCESS_TOKEN = "replace this with your access token"
record_id = "replace this with your record"
r = requests.get(f"https://zenodo.org/api/records/{record_id}", params={'access_token': ACCESS_TOKEN})
download_urls = [f['links']['self'] for f in r.json()['files']]
filenames = [f['key'] for f in r.json()['files']]
print(r.status_code)
print(download_urls)
Sekarang saya memiliki url file yang ingin saya unduh serta namanya (yaitu kunci), saya dapat mengunduhnya dengan requests.get
dan menyimpannya ke file:
for filename, url in zip(filenames, download_urls):
print("Downloading:", filename)
r = requests.get(url, params={'access_token': ACCESS_TOKEN})
with open(filename, 'wb') as f:
f.write(r.content)
Saya mencoba ini dan itu berhasil untuk saya:
https://Gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26
Komentar yang paling membantu
Saya mencoba ini dan itu berhasil untuk saya:
https://Gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26