Zenodo: Gunakan Commend Line untuk mengunduh file dari Zenode

Dibuat pada 16 Okt 2019  ·  8Komentar  ·  Sumber: zenodo/zenodo

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!

Komentar yang paling membantu

Saya mencoba ini dan itu berhasil untuk saya:
https://Gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26

Semua 8 komentar

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

par4dise picture par4dise  ·  9Komentar

virresh picture virresh  ·  7Komentar

ShixiangWang picture ShixiangWang  ·  9Komentar

CristianCantoro picture CristianCantoro  ·  5Komentar

noamross picture noamross  ·  8Komentar