2

完全にミラーリングしたいいくつかの異なるサイトにいくつかの Web ページがあります。これは、画像、CSS などが必要になり、リンクを変換する必要があることを意味します。この機能は、Firefox を使用して [名前を付けてページを保存] を使用し、[Web ページ、完了] を選択するのと似ています。ファイルと対応するディレクトリの名前を分かりやすい名前にしたいと思います (例: myfavpage1.html,myfavpage1.dir)。

サーバーへのアクセス権がありません。サーバーは私のページではありません。リンクの例を次に示します。Click Me!

もう少し明確にします...ミラーリングしたい約100ページがあります(多くは低速サーバーからのものです)。Solaris 10でジョブをcron化し、1時間ごとに結果をsambaマウントにダンプして、人々が表示できるようにします。そして、はい、明らかにいくつかの異なるフラグで wget を試しましたが、探している結果が得られませんでした。したがって、GNU wget ページを指してもあまり役に立ちません。簡単な例から始めましょう。

wget --mirror -w 2 -p --html-extension --tries=3 -k -P stackperl.html "https://stackoverflow.com/tags/perl"

これから、フラグが正しければ、stackper.html ファイルにhttps://stackoverflow.com/tags/perlページが表示されるはずです。

4

9 に答える 9

7

コマンドを実行して Web サイトのコピーを取得するだけの場合は、wgetcurl、または一部の GUI ツールなど、他の人が提案したツールを使用してください。私はwebreaperと呼んでいる独自のツールを使用しています(これは Windows のWebReaperではありません。WebmirrorやCPANで見つけることができる他のいくつかを含む、私が知っている Perl プログラムがいくつかあります。

作成中の Perl プログラム内でこれを行う場合 (回答に「perl」タグが付いているため)、CPANには各ステップで役立つ多くのツールがあります。

幸運を、 :)

于 2008-12-30T18:17:00.600 に答える
4

サイトの HTML 化されたバージョンについては、WinHTTrack を使用できます。これは無料でオープン ソースの GPL プログラムです。ページ、グラフィック、ドキュメント、zip ファイル、ムービーなどのレンダリング済みバージョンをプルダウンします。もちろん、これはミラーリングされたコピーであるため、データベース呼び出しなどの動的なバックエンド コードは動的ではなくなります。

http://www.httrack.com/

于 2008-12-30T17:46:13.797 に答える
3

個人的には、前回これをやりたいという衝動に駆られたとき、ブラウザのキャッシュのコピーを作成する Python スクリプトを作成し、ミラーリングしたいすべてのページに手動でアクセスしました。非常に醜いソリューションですが、「ページをスクレイピングしないでください」というアラームをトリガーしないという優れた利点があります。Operaのリンク タブ バーのおかげで、何万ものページを「手動で」ダウンロードすることは、思ったほど難しくはありませんでした。

于 2008-12-30T17:55:56.523 に答える
2

次のように wget gnu ツールを使用して、サイト全体を取得できます。

wget -r -p -np -k URL

または、perl を使用している場合は、次のモジュールを試してください。

  • LWP::シンプル

  • WWW::機械化

于 2012-07-17T00:30:07.020 に答える
2

ウェブリーパーを使っています

于 2008-12-30T17:52:37.247 に答える
2

「はっきりしない」というコメントを繰り返します。これらの Web ページ/サイトは自分で作成したもので、複数のサーバーに展開したいですか? その場合は、HTML で相対参照を使用すれば問題ありません。または、 を使用して、各サイトで調整します。しかし、相対論は本当に進むべき道です。

それとも、Web サイト (Stack Overflow ホームページ、perl.com など) をダウンロードして、コンピューターにローカル コピーを置きたいということですか? ダニエルに同意します-wgetを使用してください。

ジム

于 2008-12-30T17:53:05.640 に答える
0

優れたプロキシサーバーによって提供されるキャッシュ機能が必要なようです。

たぶんSQUIDのようなものを調べますか?それができることはかなり確実です。

ただし、これはプログラミングというよりはシステム管理者タイプの質問です。

于 2009-09-02T11:47:47.533 に答える
0

wget が複雑な場合、または linuxbox を持っていない場合は、いつでも WebZip を使用できます

于 2008-12-30T18:17:26.167 に答える
0

最近のほとんどの Web サイトでは、フロント エンドはストーリーのほんの一部しか伝えていません。html、css、および javascript を削除するためのツールに関係なく、サーバーに含まれているコア機能は引き続き失われます。

あるいは、あなたは何か他のことを意味していたのかもしれません。

于 2008-12-30T17:37:28.323 に答える