Php 通过cURL镜像站点

Php 通过cURL镜像站点,php,regex,curl,Php,Regex,Curl,是否可以使用cURL“镜像”网站 所以基本上我有www.mysite.com和www.stackoverflow.com,这是我想镜像的网站 当我加载www.mysite.com时,我希望它调用一个cURL函数来下载www.stackoverflow.com主页并将其显示给用户,但在加载之前,我需要某种正则表达式来编辑所有链接(也是css/js链接),比如www.mysite.com/?page=/questions 我知道像搜索之类的东西,当然还有“提问”功能都不起作用,但是网站的一般浏览应该

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

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

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

我知道像搜索之类的东西,当然还有“提问”功能都不起作用,但是网站的一般浏览应该没问题,对吧

你打算怎么做那样的事


谢谢,

你最好重新定向一下

或者,如果您希望在浏览器中显示您的url,请使用框架

更新:


但是如果不想更改html,请将curl答案加载到
div
。您可以先解析答案。使用php,即
str_替换(“www.stackoverflow.com”、“www.mysite.com”、$curl_-answer)

Apache的mod_proxy可能会帮助您完成您想要的任务:部署一个带有mod_proxy和mod_proxy_html的Apache系统来重写链接:


但是,请不要再创建一个毫无价值的内容删除网站——用它来做好事,而不是作恶

wget非常适合这个任务

只需从命令行运行:

wget -mkx -e robots=off http://the-site-you-want-to-mirror.com
它会将所有页面、图像、样式表、js文件等下载到本地目录,并重写所有链接,使它们在本地工作


如果它不是您自己的服务器,请友好地添加
-w2
,以在页面请求之间添加2秒延迟。

在向用户显示页面之前,我想更改页面上的一些内容,因此我必须使用类似cURL的工具来处理数据。抄袭其他网站的辛苦工作被视为不好的风格。链接到该站点,而不是创建另一个毫无价值的内容清理站点。感谢您的想法,但是我不打算“剽窃其他站点的辛苦工作”或创建“另一个毫无价值的内容清理站点”。如果它仅用于stackoverflow/stackexchange,您可能需要查看官方API()这就是“WayBackMachine”的工作原理,也就是“Internet Archive”(我想)也有完全正常的理由这样做——它是你自己的网站,或者你有权限,或者你想离线学习,或者你想翻译网站,你只受想象的限制。不幸的是,保护所有这些围墙花园阻止了许多创新的发生。这能让我改变原始网站上的数据吗?或者只是镜像它?mod_proxy_html是完全可配置的:我确信如果您有无法轻松配置的更改,他们会愿意与您讨论添加您所需的功能。我第二个问题是“请不要再创建一个毫无价值的内容抓取网站——使用它是好事,而不是坏事。”那么
-e robots=off
会做什么?“如果您知道自己在做什么,并且确实希望关闭robot排除,请在.wgetrc中将robots变量设置为“off”。您可以使用-e开关在命令行中实现相同的效果,例如“wget-e robots=off url…”。从刚刚高兴地从2k11:D中找到@kyle mathews的答案