Lamento molestarlo, pero me he enfrentado a un problema durante mucho tiempo. Sin embargo, no es estable para mí descargar el gran conjunto de datos de Zenode usando el navegador. Así que me viene a la mente el uso de 'wget', pero cuando sigo el enfoque proporcionado en Problemas , he fallado.
Desde el número anterior, uso:
curl https://zenodo.org/api/records/3407840
Obtuve la API REST:
https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
Pero obtuve 404 como si no usara la API REST.
wget -r https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
¿Podrías ayudarme? ¡Gracias!
Dado que los archivos de este registro están configurados para acceso restringido, no están disponibles públicamente, para acceder a ellos necesitaría un token de acceso para verificar su identidad, que puede crear aquí o debe seguir el procedimiento que se muestra.
Cerrando esto ya que no es un error.
¿Cómo usar el token privado? ¿Alguna idea? Muchas gracias
Yo también lo necesito, ¿alguien lo sabe?
yo también tengo curiosidad
@thesby @keunwoochoi
Estos son los pasos para descargar los archivos.
desde la propia línea de comandos
1- Adquirir el token personal (que probablemente ya tengas)
2- ejecuta los siguientes comandos
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372?token=<your token here>"
reemplace ese número de registro 1117372 con el correspondiente
Una vez que haya generado el archivo de cookies,
ahora solo ingrese a su navegador, haga clic derecho en el botón de descarga y copie su URL
debería verse como https://zenodo.org/record/1117372/files/musdb18.zip?download=1
ahora ,
simplemente ejecute este comando en su terminal,
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372/files/musdb18.zip?download=1" --output musdb18.zip
reemplace el enlace de descarga con su URL de descarga particular
y debería empezar a descargarse,
y reemplace el nombre de archivo en --output musdb18.zip
con el nombre de archivo apropiado que desee
este es el método que me funciona,
Avísame si tienes algún problema,
Qué tengas un lindo día !
Tenía problemas con el enfoque de las cookies, así que en su lugar utilicé el enfoque de la API de zenodo (en Python).
Primero, creé tokens de acceso personal (NO aplicaciones de desarrollador) y lo asigné a mi variable ACCESS_TOKEN
. Luego consulté todos los archivos disponibles para descargar en mi registro:
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)
Ahora que tengo las URL de los archivos que quiero descargar, así como su nombre (es decir, la clave), puedo descargarlos con requests.get
y guardarlos en un archivo:
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)
Probé esto y funcionó para mí:
https://gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26
Comentario más útil
Probé esto y funcionó para mí:
https://gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26