ご迷惑をおかけして申し訳ありませんが、私は長い間問題に直面してきました。 ただし、ブラウザを使用してZenodeから大きなデータセットをダウンロードするのは安定していません。 そのため、「wget」を使用することが頭に浮かびますが、 Issuesで提供されているアプローチに従うと、失敗しました。
前号から、私は以下を使用します:
curl https://zenodo.org/api/records/3407840
私はRESTAPIを入手しました:
https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
しかし、RESTAPIを使用しないのと同じように404を取得しました。
wget -r https://zenodo.org/api/files/f0d7eb3a-9575-4297-8a9f-39564e383750/Center%28Left_Down%29.zip.001
手伝ってくれませんか。 どうも!
このレコードのファイルは制限付きアクセスに設定されているため、公開されていません。これらのファイルにアクセスするには、IDを確認するためのアクセストークンが必要です。これはここで作成でき
エラーではないので、これを閉じます。
プライベートトークンの使い方は? 何か案が? 非常にサックス
私もそれが必要です、誰か知っていますか?
私も興味があります
@thesby @keunwoochoi
ファイルをダウンロードする手順は次のとおりです
コマンドライン自体から
1-個人トークンを取得します(おそらくすでに持っています)
2-次のコマンドを実行します
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372?token=<your token here>"
そのレコード番号1117372を適切なものに置き換えます
Cookieファイルを生成したら、
今すぐブラウザにアクセスし、ダウンロードボタンを右クリックしてそのURLをコピーします
https://zenodo.org/record/1117372/files/musdb18.zip?download=1のようになり
今 、
ターミナルでこのコマンドを実行するだけです。
curl --cookie zenodo-cookies.txt "https://zenodo.org/record/1117372/files/musdb18.zip?download=1" --output musdb18.zip
ダウンロードリンクを特定のダウンロードURLに置き換えます
ダウンロードを開始する必要があります、
--outputmusdb18.zipのファイル名を置き換えます
必要な適切なファイル名で
これは私のために働く方法です、
問題が発生した場合はお知らせください。
すてきな一日を !
Cookieのアプローチに問題があったため、代わりにzenodo APIアプローチ(Python)を使用しました。
まず、パーソナルアクセストークン(開発者アプリケーションではない)を作成し、それを変数ACCESS_TOKEN
割り当てました。 次に、自分のレコードでダウンロードできるすべてのファイルを照会しました。
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)
ダウンロードしたいファイルのURLと名前(つまりキー)がわかったので、 requests.get
ダウンロードして、ファイルに保存できます。
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)
私はこれを試しました、そしてそれは私のために働きました:
https://gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26
最も参考になるコメント
私はこれを試しました、そしてそれは私のために働きました:
https://gist.github.com/slint/d47fe5628916d14b8d0b987ac45aeb66#file -zenodo-restricted-curl-sh-L26