例:http://www.mediafire.com/?tjmjrmtuyco
これは私が試したものでした...
wget -A rar [-r [-l 1]] <mediafireurl>
つまり、再帰オプションの有無にかかわらず試してみました。結局、サイズが数KBのHTMLページをダウンロードすることになりますが、私が欲しいのは90〜100MBとRARの範囲です。
気づいていないかもしれない人々のためにMediaFireで何が起こるかは、それが最初に言うということです
ダウンロードリクエストを処理しています...
1秒ほど後にこのテキストはダウンロードリンクに変わり、次のようになります。
ダウンロードを開始するには、ここをクリックしてください。
この状況に適切なスクリプトを書く方法を誰かに教えていただければ幸いです。
から Mediafires利用規約 :
サービスの一般的な使用、許可および制限
MediaFireサービスの使用中は、次のことを行わないことに同意するものとします。
サービスの一部を変更または修正する。
違法な目的で本サービスを使用すること。
ロボット、スパイダー、オフラインリーダー、サイト検索および/または取得アプリケーション、またはその他のデバイスを使用して、パブリック検索エンジンを除くサービスの任意の部分を取得またはインデックス付けします
したがって、本質的にMediafireがWebサイトを介して提供するツール以外のものを使用することにより、実際には利用規約に違反していることになります。
私は自分自身を試したことがありませんが、Webサイトを「ごまかす」ことができることがいくつかあります。
例えば --referer
リファラーURLを指定できます-おそらくサイトはあなたが特定の「ホームページ」ページか何かから来ていることを期待しています:このオプションでwgetはそれがそこから来ているふりをします。
また、--user-agent
は、wgetを別のエージェント、つまりFirefoxのようなブラウザの「ふり」にします。
--header
を使用すると、HTTPリクエスト全体を偽造して、ブラウザのリクエストを模倣できます。
これらのいずれも機能しない場合は、Cookieやその他の詳細設定を処理するオプションもあります。man wget
リスト全体。
これが少しお役に立てば幸いです。成功した場合は、どのように行ったかを投稿してください。
実際にそれを行うことができます。あなたがしなければならないことは:
wget
に追加します。それは次のようなものになります
wget http://download85794.mediafire.com/whatever_your_file_is
このようなサイトでは、複数の方法を使用して、単純な/自動ダウンロードを防止しています。そのような技術のいくつかの例は次のとおりです。
基本的に、cURLやwgetなどのツールを使用してこのようなサイトからファイルをダウンロードすることは、せいぜい困難であり、確かに実用的ではありません。
bash関数:
mdl () {
url=$(curl -Lqs "$1"|grep "href.*download.*media.*"|tail -1|cut -d '"' -f 2)
aria2c -x 6 "$url" # or wget "$url" if you prefer.
}
例:
$ Sudo apt install aria2
$ mdl " http://www.mediafire.com/?tjmjrmtuyco "01/14 13:58:34 [通知] 1つのアイテムをダウンロードしています
38MiB/100MiB(38%)CN:4 DL:6.6MiB ETA:9s]
ダウンロードボタン「コピーリンクアドレス」を右クリック
wget(url)
そのように簡単で、それをやっただけです。