いくつかの字幕ファイルをダウンロードしてrarファイルとして保存したいと思います。http://subs.sab.bz/このウェブサイトは新しいリリースのRSSフィードを提供します。残念ながら、提供されたリンクをクリックするとダウンロードページが開きますが、ファイルをインポートすることはできません。
ダウンロードページの途中にボタンがあります。ボタンをクリックすると、必要なrarファイルがダウンロードされます。とにかくリンクを右クリックしてコピーしてから開こうとすると、ブラウザはダウンロードページ自体を開きますが、ファイルはダウンロードしません。 wgetとカールでファイルのダウンロードリンクを使用しようとすると、PHPファイルがダウンロードされます。この場合、サーバー側のスクリプトがクライアントシステムに正しいリンクを渡すために使用されることがわかりました。
だから私はwgetがこのリンクのonclick動作をシミュレートするように強制する方法を探しています。私はダウンロードリンクの追加のプロパティを見つけるのに十分なHTML CSSとJavaScriptについて十分に知っています。
大丈夫ですか?
PS。この質問がなぜ反対票を受け取ったのか混乱しています。良い説明はありますか?私は公開ルールに違反していますか?ありがとうございます。
答え1
あなたは混乱しています。 「Onclick」アクションはJavaScriptを参照し、クライアント側のアクションです。これらのリンクのJavaScriptフックがURLを解析する方法を確認する必要があります。ただし、ここではonclick操作は行われません。
このウェブサイトがすることはおすすめの確認、また〜として知られる「ホットリンク保護」。ブラウザはデフォルトで前のページのURLであるリファラー値を送信します。これは、他のWebサイトがファイルへの直接リンクを投稿してWebサイトの帯域幅を盗むのを防ぐために行われます。
リンクをコピーしてブラウザに直接貼り付けようとすると、質問で説明したのと同じ動作が発生します。なぜなら、ブラウザはリファラー情報を送信する方法がわからないからです。
wgetにリファラー値を偽に指示するオプションは、カールに対するもの--referer
です。-e
この値は通常、ウェブサイトのルートとして設定するのが安全です。 Web サイトでは通常、値が正しいことを確認しません。それ徹底的な:
wget -O output.rar --referer http://subs.sab.bz/ 'http://subs.sab.bz/your-link-here'