2011-01-24 109 views
0

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

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

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

我知道像搜索这样的东西,当然'提问问题'功能不起作用,但网站的一般浏览应该没问题吧?

你会如何做这样的事情呢?

谢谢,

+7

它被认为是不好的风格懵了其他网站的辛勤工作。链接到该网站,而不是创建另一个毫无价值的内容抓取网站。 – PatrikAkerstrand 2011-01-24 10:01:42

+1

感谢您的想法,但我并不打算'扯下其他网站的辛勤工作',或创建'另一个毫无价值的内容抓取网站'。 – 2011-01-24 10:04:42

+0

如果它是唯一的计算器/ 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 - 清洁 - 易于使用的包装器换PHP堆栈的PHP-0-3-释放)。 – svens 2011-01-24 10:13:40

回答

0

的Apache的mod_proxy可以帮助你做你想要的:与mod_proxy的和mod_proxy_html部署Apache系统改写链接:http://www.apachetutor.org/admin/reverseproxies

但请拜托不要让另一个不值钱的内容刮的网站 - - 用这个好,而不是邪恶。 :)

1

好吧,你最好做一个重定向。

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

UPDATE:

,但如果你wan't更改HTML载入卷曲回答成div。你可以在之前解析答案。用PHP即str_replace("www.stackoverflow.com", "www.mysite.com", $curl_answer);

3

wget的是非常好的完成这个任务。

从你的命令行,只要运行:

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

,它会的所有网页,图片,样式,js文件等下载到本地目录和重写所有的链接,使他们在本地工作。

如果这不是你自己的服务器,是很好,并添加-w 2添加页面请求之间有2秒的延迟。