自分のユーザー名とパスワードでのみアクセスできるフォーラムをダウンロードしたいです。
次のことを試しました:
C:\wget.exe wget -k -m -E -p -np -R viewtopic.php*p=*,memberlist.php*,faq.php*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* -o log.txt http://www.myforum1234.com/forum/categories/discussions
これが、私が cmd に入力するコマンドです。wget.exe をクリックすると、黒いウィンドウが表示されますが、すぐに消えます。しかし、これも正しい方法だと思います (私は Windows XP を使用しています)。
私の問題は、結果を見ると、wget はログインできなかったためフォーラムをダウンロードできなかったことが示されています。そのため、ログイン ページは表示されます (ダウンロードされます) が、それ以上は何も表示されません。コマンドを実行したときは、ログインしていました。
私は wget の専門家ではないので、コマンドが正しいかどうかわかりません。これは別の投稿からコピーしたものです。単純なものはC:\wget.exe wget http://www.theforumurl.com
機能しませんでした。
編集:
私も今試してみました
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions
しかし、ここでも同じ問題があります。
2回目の編集最初のコメントのリンクに関して:
私は今試してみました
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions --post-data="username&password=1234"
しかし、また同じ問題です!
ログイン ボタンにマウスを合わせると、次の URL が表示されます。
http://www.myforum.com/user/popupLogin
これを使わなければなりませんか?
3回目の編集:
また、www. の前にユーザー名:パスワード@ を追加してみました。次のようになります。
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://user:[email protected]/forum/categories/
結果は同じで、ログインが機能しなかったことがわかります。
第4版:
私も試してみましたこのスレッド:
C:\wget.exe wget --save-cookies cookies.txt --post-data 'user=usern&password=passw' http://www.myforum.com/user/popupLogin
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
しかし、また同じ問題が!!
第5回編集:
これで、ログイン ボタンのソース コードを分離できたと思います。
<div class="forumSignup">
<a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>
6回目の編集:
HTTrack でも試してみましたが、問題は同じです。ログインが機能しません。別の問題は、フォーラム自体が URL www.mywebsite.com/forum を使用しているのに、www.mywebsite.com にログインする必要があることです。たとえば、ユーザー名のようなものを使用すると、[メールアドレス]mywebsite はキャプチャされますが、フォーラムはキャプチャされません。ユーザー名を使用する場合:[メールアドレス]/forum ログインは機能せず、何もキャプチャされません。
答え1
まず第一に、名前C:\wget.exe -k -m …
を繰り返さないことですwget
。
フォーラムへのログインは複雑に思えるので (単純なサイトでも複雑になることがあります)、最善の解決策は、ブラウザでログインしてから、Cookie* を wget に渡す (ファイルに入れて使用するか--load-cookies
、 で直接渡す--header "Cookie: name=value"
) ことです。
※ブラウザによって抽出方法が若干異なります。
答え2
Wget は<pass>@serveraddress
ポートとして解釈します。
ユーザー名とパスワードを指定するには、--user
および--password
スイッチを使用します。
wget --user username --password passw http://...
答え3
を使ってログインしてサイトをミラーリングするのは困難ですwget
。 を使用するには専門知識が必要ですwget
。現在、ユーザー名とパスワード、クッキー、および必要なスイッチを渡します。
追加の作業。
1. すべてが正常になるまでミラーリングを避けてください。ページを再帰的にダウンロードすると、Web サーバーが IP をブラックリストに追加するように強制します。(単一のページを保存してみてください)
2. ほとんどの Web フォーラムがダウンロード マネージャーを嫌うため、ブラウザーとして wget を偽装します。これ詳細については回答してください。
最善の解決策
この種のサイトをミラーリングする最も簡単で最善の方法は、**を使用することです。スクラップブック**. これはFirefoxプラグインです。Firefoxを起動し、サイトにログインし、右クリックして「ページを名前を付けて保存」し、ドメインでフィルタリングするだけです。これサイトを効率的にミラーリングするための回答。
答え4
ブラウザで Cookie データにアクセスできる場合 (Firefox にはオプション > プライバシーの下に独自の Cookie ブラウザがありますが、このタスクを簡単にするプラグインもあります)、フォーラムに手動でログインし、そのドメインのすべての Cookie を検索して、cookies.txt ファイルに保存すると、おそらく前のコマンドで機能するでしょう。
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
一部のログイン ページは複雑すぎるため、単一のコマンド ラインでタスクを実行することはできません。
ドメイン全体のすべての Cookie を含めることを忘れないでください (「www.myforum.com」だけでなく、「myforum.com」を検索してください)