如何镜像一个网站?(静态版) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ztm0929
V2EX    问与答

如何镜像一个网站?(静态版)

  • &nbs;
  •   ztm0929 2024-05-02 22:56:17 +08:00 via iPhone 1727 次点击
    这是一个创建于 616 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为一些原因,我想将 A 社区(有账号系统,用户可编辑)静态地复制为 B 网站(其他都一样,就是没有了账号系统,但是主题等结构都还在,访问者只能查看已发布的帖子),请问技术上有什么实现思路?两个站点实际上存放在各自的物理服务器内,Nginx 反向代理应该无法实现吧?

    两个社区都是我个人搭建的,服务器、数据库都可以完全控制。

    6 条回复    2024-05-06 10:19:19 +08:00
    an0nym0u5u5er
        1
    an0nym0u5u5er  
       2024-05-02 23:09:47 +08:00   1
    思路很多
    一、nginx 有个 sub_title 模块,可以实现类似 str_replace(A,B) 这样的功能,如果要替换的内容很少,可以用这个实现
    二、静态化,B 站直接返回 HTML ,优点是每个 URL 处理一次就好,适用于内容不怎么变化的
    三、自定义代理,比如你写一个 PHP 脚本作为中转程序,B 站的数据请求这个 PHP 接口,PHP 可以做中间的一些逻辑处理,比如屏蔽一些数据,后台管理页面,去除一些内容之类的,比第一个用 nginx 实现更容易,更灵活
    cruzzz
        2
    cruzzz  
       2024-05-02 23:17:13 +08:00   1
    我不懂代码,但我之前做的事情和你说的类似。我有 A 站(图片反代站,信息丰富,)一枚,然后我想再搞个 B 站,用来做布局精简,顺便拿来测试一些 SEO 手段,看看能否导致 SEO 毁灭。 就去找 GPT 要了一些代码,它给我的代码就类似这样
    // 创建上下文
    $cOntext= stream_context_create([
    'http' => [
    'follow_location' => false, // 禁止自动跟随重定向
    ],
    ]);

    // 获取 HTML 内容
    $htmlLines = file($url, false, $context);
    $html = implode("", $htmlLines);

    // 创建 DOMDocument 对象并加载 HTML 内容
    $dom = new DOMDocument();
    $dom->loadHTML($html);

    // 创建 DOMXPath 对象
    $xpath = new DOMXPath($dom);

    // 使用 XPath 查询表达式获取所有 article 元素
    $articles = $xpath->query('//article');

    // Initialize the result array
    $result = array();

    // 遍历每个 article 元素
    foreach ($articles as $article) {


    前提就是,网页地址和模板相对来说很好找规则,否则这个 dom 不容易定位。

    这样的效果就是:B 站重新搞个模板,布局换一换,数据全都是临时去 A 站请求的。
    然后……谷歌还收录了几万个,现在养了一段时间,bing+google 的日 IP 也上 1K 了= =
    yuzo555
        3
    yuzo555  
       2024-05-02 23:20:32 +08:00   1
    都是你自己控制的那就写个脚本批量生成静态网页不就行了
    busterian
        4
    busterian  
       2024-05-03 08:06:19 +08:00   1
    httrack
    wen20
        5
    wen20  
       2024-05-03 11:45:41 +08:00
    域名解析就能实现
    flynaj
        6
    flynaj  
       2024-05-06 10:19:19 +08:00 via Android
    直接同步数据库性能最好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4462 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:04 PVG 12:04 LAX 20:04 JFK 23:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86