2011-01-24 56 views
0

cURLを使用してウェブサイトを「ミラーリング」することは可能ですか?cURLによるサイトのミラーリング

私は基本的に私がミラーリングしたいサイトであるwww.mysite.comとwww.stackoverflow.comを持っています。

私がwww.mysite.comをロードすると、www.stackoverflow.comホームページをダウンロードしてユーザーに表示するcURL関数を呼び出すことができますが、その前にすべてのリンクを編集するための正規表現が必要です(css/jsリンク)www.mysite.com/?page=/questions

私は検索のようなことはもちろん、 '質問の質問'機能は動作しませんが、サイトの一般的なブラウジングは正常でしょうか?

どうやってそのようなことをやりますか?

ありがとう、

+7

他のサイトのハードワークを壊すのは悪いスタイルと見なされます。他の価値のないコンテンツスクレイピングサイトを作成する代わりに、サイトにリンクする。 – PatrikAkerstrand

+1

あなたの考えをお寄せいただきありがとうございます。しかし、私は他のサイトのハードワークを裂くことや、他の無益なコンテンツスクレイピングサイトを作成するつもりはありません。 –

+0

stackoverflow/stackexchangeのみの場合は、公式のAPI(http://blog.stackoverflow.com/2010/05/stack-exchange-api-public-beta-starts/)をご覧になるか、既に利用可能なPHP実装(http://stackapps.com/questions/319/phpstack-a-php-wrapper-to-the-se-apiまたはhttp://stackapps.com/questions/826/stack-php -clean-easy-to-use-wrapper-for-php-stack-php-0-3-リリース)。 – svens

答えて

0

すなわち、PHPとApacheのmod_proxyのは、あなたがやりたいことに役立つことがあります。リンクを書き換えるためのmod_proxyとのmod_proxy_htmlとApacheのシステムを展開:http://www.apachetutor.org/admin/reverseproxies

をしかし、さらに別の価値のないコンテンツこするサイトを作成しないでくださいああしてください - - これは良いことではなく、悪に使う。 :)

+0

オリジナルのウェブサイトからデータを変更できるようになりますか?または単にそれをミラーリングする? –

+0

mod_proxy_htmlは非常に設定可能です:http://apache.webthing.com/mod_proxy_html/config。html私はあなたが簡単に設定することができない変更を持っている場合、あなたは必要な機能を追加することについてあなたと話をしたいと思います。 – sarnold

+0

私は2番目に "してください、ああ、もう一度、価値のないコンテンツを削ってはいけません。 – iamnotmaynard

1

よくリダイレ​​クトしてください。

か、あなたのURLがブラウザ利用枠で示し持つようにしたい場合は...

UPDATE:

いますが、にカール答えをロードするHTMLを変更するwan't場合div。前に答えを解析することができます。 str_replace("www.stackoverflow.com", "www.mysite.com", $curl_answer);

+0

私はユーザーにそれを表示する前に、ページ上のいくつかのものを変更したいので、私はデータで遊ぶことを可能にするcURLのようなものを使用する必要があります。 –

3

このタスクでは、wgetは非常に便利です。

ちょうどあなたのコマンドラインから実行:

wget -mkx -e robots=off http://the-site-you-want-to-mirror.com 

そしてそれは、ローカルディレクトリにすべてのページ、画像、スタイルシート、JSファイルなどをダウンロードして、彼らはローカルで動作するように、すべてのリンクを書き換えます。

自分のサーバーでない場合は、-w 2を追加してページリクエスト間に2秒の遅延を追加してください。

関連する問題