web-dev-qa-db-ja.com

wgetコマンドを使ってdropboxファイルをダウンロードするにはどうすればいいですか?

私はクロムやFirefoxなどのエクスプローラを使用してのみドロップボックスファイルをダウンロードすることができるようです。私がダウンロードするのにwgetを使用すれば、私はhtmlフォーマットにあるファイルを得るでしょう。どうして?

例えば、あなたはこのリンクを開くことができます

あなたはこのファイルの内容を手に入れないでしょう、なぜですか?以下はそれをダウンロードするためのtest.txtの一部です、これはtest.txtの内容ではありません。

それでは、エクスプローラではなくwgetを使ってDropboxファイルをダウンロードすることは可能ですか?

document.observe('script:loaded', function() {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } else if (window.jQuery) {
jQuery(function () {
SharingModel.init('test\x2etxt', Util.from_json('\x7b\x22item\x5fid\x22\x3a\x20\x22\x22\x2c\x20\x22secure\x5fhash\x22\x3a\x20\x22\x22\x2c\x20\x22subpath\x22\x3a\x20\x22\x22\x2c\x20\x22tkey\x22\x3a\x20\x22mx9eqve5l2ipgyk\x22\x7d'))
SharingModel.init_file()
$('emsnippet-9911dfc627e1d541').innerHTML = 'test\x2etxt'.em_snippet(50, 0.750).escapeHTML();
$('emsnippet-add7879f5d805012').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
$('emsnippet-981ac0639529f983').innerHTML = 'test\x2etxt'.em_snippet(20, 0.750).escapeHTML();
FilePreview.init_text('https\x3a\x2f\x2fdl\x2edropbox\x2ecom\x2fs\x2fmx9eqve5l2ipgyk\x2ftest\x2etxt', 0)                        });
                    } 

Test.txtをコマンドで取得できません

wget https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.tx


ls -l 
-rw-rw-r-- 1 mirror mirror  30K Sep  6 15:01 test.txt
63
hugemeow

あなたの質問のリンクはファイルへのリンクではなく、このファイルのDropboxページへのリンクです。
ダウンロードにwgetを使用したい場合は、ダウンロードボタンを右に押すとドロップするメニューから直接ダウンロードへのリンクをコピーする必要があります。

私の場合、それはうまくいきました。ただし、ブラウザの外部からリンクをダウンロードする際の問題は、リンク自体以外のパラメータに関連していることがあります。リンクをコピーしただけでは存在しない一般的な要素は、サイトのクッキーです。

正しいwgetリンクを取得するには、これ かっこいいFFアドオン を試してください。

また、特に私たちが既知のワークステーションについて話していて、カジュアルなものではない場合は、もちろんDropboxクライアントをインストールすることができます。これが最も簡単な方法です。あなたのボックスをファイル構造の一部にして、複雑なダウンロードの必要性をなくしてください。
こちら askubuntu.com投稿 、および Dropbox ダウンロードページ。

18
amotzg

リンクの最後に?dl=1を追加するだけです。例えば、次のとおりです。https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1

これにより、ファイルに何も追加せずに問題のファイルを正確に取得できます。

もう一つ!他の場所にファイルを保存したい場合は、このような-Oオプションを使用してください。

wget -O /root/Desktop/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"

また、GUIを少し使いたい場合は、zenityを使用してファイルをダウンロードする場所をマークすることができます。

これがサンプルコードです:

#!/bin/bash
dir=$(zenity --file-selection --directory)
wget -O $dir/test.txt "https://www.dropbox.com/s/mx9eqve5l2ipgyk/test.txt?dl=1"
110
Ismael Segui

Dropboxはそれを修正し、wgetがインタースティシャルの代わりに正しいことをしてファイルを取得するようにしました。

ファイルへの直接リンクを取得するには、「共有リンク」を使用します。

14
Ryan

この質問を見て、これは一度に多くのファイルをダウンロードしようとしている誰かを助けるかもしれないと思いました。

これはあなたが使うことができる小さなWindows CMD/Batchスクリプトです。
Bashシェル(Mac/Linux/etc)で動作するように簡単に調整できます。
CURL を使います。 WGETはいくつかの小さな調整でもうまくいくはずです。

1。 Windows用 Curl をインストールします。

2。個々のSHAREDリンクをテキストファイルに入れる(1行に1つ)

3。テキストファイルのすべての「?dl = 0」パラメータを「?dl = 1」に調整して保存します。

4。以下のスクリプトを 'geturllist.cmd'というファイルにコピーしてください(または選択したものです)

5。 CMDプロンプトを開き、CMDスクリプトを実行します

ダウンロードしたファイルは、スクリプトを実行した現在の作業ディレクトリに表示されます。

注意:
「リンクを持っている人なら誰でも」開くことができる、正しい形式のSHARED LINKを持っている必要があります。このスクリプトは、Dropboxのログイン/ Eメールに基づくパスワードで保護されたリンクや共有では動作しません。
注意:
単一のファイルまたはファイルグループ(自動圧縮)が一定のサイズを超えると、エラーで失敗します( "(Zip)ファイルが大きすぎます。Dropboxに追加してください。 ")。この場合、あなたはそれが言うようにしなければなりません..共有リンクが直接ダウンロード可能ではないのでこのスクリプトは機能しません。

テキストファイルの例:
( "RandomShareCharacters/Here"は、共有リンクに記載されている内容に置き換えられます)

 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1
 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1
 https://www.dropbox.com/sh/RandomShareCharacters/Here?dl=1

geturllist.cmd:

@echo off
set count=0
setlocal ENABLEDELAYEDEXPANSION
IF [%1]==[] GOTO BLANK
SET PARAMETER=%1
SET _PARAMETER=%PARAMETER:~0,2%

IF [%1]==[/?] GOTO HELP
IF [%1]==[--help] GOTO HELP
IF %_PARAMETER%==-h GOTO HELP

IF EXIST %1 (

  for /f "delims=" %%u in (%1) do (

      set /a count=count+1
      curl -kL "%%u" -O -J

      REM For other share sites:
      REM (Zip EXAMPLE) if no filename type header sent:
      REM > curl -kL "%%u" -o "!count!.Zip"
      REM > echo "!count!.Zip"
      REM Will download file(s) called 1.Zip, 2.Zip, etc.
      )
  ) ELSE (
GOTO BLANK
)
GOTO DONE

:HELP
ECHO.
ECHO    Usage:
ECHO.
ECHO    geturllist [path]\[filename]
ECHO.
ECHO.
ECHO    Required Parameters:
ECHO.
ECHO    [filename]  A text file with one url per line
ECHO    -h      Help
ECHO.
GOTO DONE

:BLANK
ECHO.
ECHO Error: no input file found

:HELPMSG
ECHO.
ECHO Try -h for Help

:DONE
ECHO.
ECHO Exiting.
ECHO.

使用例

geturllist.cmd X:\somepath\dropbox.txt

2
bshea

あなたは「ファイル」という名前か何か変な名前をつけるつもりです...ただあなたが望むものにそのファイルを改名することはトリックをするでしょう。実際にダウンロードされたファイルはあなたが変わった名前でファイルタイプ属性なしで欲しかったファイルです。

0
Kruno