通过cURL镜像站点

时间:2011-01-24 09:56:16

标签: php regex curl

是否可以使用cURL“镜像”网站?

所以基本上我有www.mysite.com和www.stackoverflow.com这是我想要镜像的网站。

当我加载www.mysite.com时,我希望它调用一个cURL函数来下载www.stackoverflow.com主页并将其显示给用户,但在此之前,我需要使用某种正则表达式进行编辑所有链接(也是css / js链接)到www.mysite.com/?page=/questions

之类的东西

我知道像搜索这样的东西,当然还有“提问”的功能都行不通,但对网站的一般浏览应该没问题吧?

你会怎么做这样的事情?

谢谢,

3 个答案:

答案 0 :(得分:3)

wget非常适合这项任务。

只需从命令行运行:

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

它会将所有页面,图像,样式表,js文件等下载到本地目录并重写所有链接,以便它们在本地工作。

如果它不是您自己的服务器,那么请加上-w 2以在页面请求之间添加2秒的延迟。

答案 1 :(得分:1)

你最好做一个重定向。

或者如果您想让浏览器中显示的网址使用框架...

<强>更新

但如果您不想更改html,请将curl-answer加载到div。你可以解析之前的答案。用php即str_replace("www.stackoverflow.com", "www.mysite.com", $curl_answer);

答案 2 :(得分:0)

Apache的mod_proxy可以帮助你做你想做的事情:使用mod_proxy和mod_proxy_html部署Apache系统来重写链接:http://www.apachetutor.org/admin/reverseproxies

但是请哦,请不要制作另一个毫无价值的内容抓取网站 - 使用这个好,而不是邪恶。 :)