V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wellhome
V2EX  ›  程序员

有什么工具可以把 js 渲染的 html 转换成静态 html?

  •  
  •   wellhome · 2019-09-18 09:44:18 +08:00 · 3641 次点击
    这是一个创建于 1926 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有什么工具可以把 js 渲染的 page 转换成静态 html ?
    目的是 seo 友好。
    19 条回复    2019-09-18 20:19:01 +08:00
    Lxxyx
        1
    Lxxyx  
       2019-09-18 09:50:56 +08:00 via iPhone
    SSR
    ChefIsAwesome
        2
    ChefIsAwesome  
       2019-09-18 09:51:48 +08:00   ❤️ 1
    arrow8899
        3
    arrow8899  
       2019-09-18 09:52:40 +08:00
    浏览器,你可以用 puppeteer selenium 等自动化工具来做
    whosesmile
        4
    whosesmile  
       2019-09-18 10:04:53 +08:00
    phantom
    jntitor
        5
    jntitor  
       2019-09-18 10:06:52 +08:00
    服务端渲染
    nichijou
        6
    nichijou  
       2019-09-18 10:10:48 +08:00
    百度不清楚,谷歌目前支持 js 渲染页面。
    buffgek
        7
    buffgek  
       2019-09-18 10:46:56 +08:00
    react-snap 这种库底层都是用 puppeteer 先渲染一下,然后把渲染过的 html 写入到文件中
    Curtion
        8
    Curtion  
       2019-09-18 10:48:13 +08:00
    ssr 服务器渲染,Vue: https://zh.nuxtjs.org/ React: https://nextjs.frontendx.cn/
    love
        9
    love  
       2019-09-18 11:00:24 +08:00
    几年前看过一个博客讲这个实现,
    映象中的做法是:
    在 nginx 中判断 user agent 是否 baidu,是则转发请求给一个自建的微服务,服务里拿到 url 用 puppeteer 之类转到 html 输出。

    全部加起来不到 100 行代码。
    ClericPy
        10
    ClericPy  
       2019-09-18 11:25:03 +08:00
    奇怪.. 没人提 mhtml... 可能我又读题误解了...
    yikyo
        11
    yikyo  
       2019-09-18 11:49:36 +08:00
    @love 这里有个问题是渲染是要时间的,什么时候返回数据呢。
    edward8628
        12
    edward8628  
       2019-09-18 11:52:37 +08:00
    server side rendering
    luob
        13
    luob  
       2019-09-18 11:53:10 +08:00
    Danswerme
        14
    Danswerme  
       2019-09-18 11:54:35 +08:00 via Android
    现在比较火的几个前端框架不都有相应的服务端渲染轮子吗
    SilentDepth
        15
    SilentDepth  
       2019-09-18 11:59:31 +08:00 via iPad
    @whosesmile PhantomJS 已死……
    love
        16
    love  
       2019-09-18 12:26:41 +08:00
    @yikyo 等个一二秒渲染好了返回又没事
    love
        17
    love  
       2019-09-18 12:28:41 +08:00
    @Danswerme 不是一个事情,这个是为 SEO,就不用上服务端渲染了,那个不是没开发成本的
    wmhx
        18
    wmhx  
       2019-09-18 18:19:02 +08:00
    先用 selenium 把你网页渲染出来保存到本地,然后用 jsoup 解析并替换指定节点, 然后存起来就 oj8k 啦.
    orzorzorzorz
        19
    orzorzorzorz  
       2019-09-18 20:19:01 +08:00
    只为 seo 的话,那些模版,多入口就完了。ssr 这玩意,至少我碰见需要用到的情况下,前端组件是不能复用的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5474 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.