You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook(IRkernel)中嵌入Google Sites页面?

在IRkernel Jupyter Notebook中嵌入Google Sites页面的解决方案

嘿,我懂你想直接把Google Sites页面嵌入Notebook的需求,但你遇到的空白问题其实是Google的安全策略在起作用——Google Sites默认不允许被嵌入到第三方iframe中,它会通过浏览器的安全机制(比如X-Frame-Options响应头)阻止页面加载,所以直接用<iframe>标签肯定会显示空白,这不是代码的问题,是网站本身的限制。

给你两个可行的替代方案:

  1. 制作类嵌入的链接容器
    既然不能直接嵌入,我们可以模拟一个嵌入的视觉效果,同时保留跳转功能,比单纯的超链接更直观。用IRdisplay::display_html()写个简单的容器:

    IRdisplay::display_html('
      <div style="border: 1px solid #e0e0e0; border-radius: 4px; width: 400px; height: 400px; padding: 12px; background-color: #f9f9f9;">
        <h5 style="margin-top: 0;">Google Sites 内容</h5>
        <p>点击下方按钮打开完整页面:</p>
        <a href="https://sites.google.com/something" target="_blank" style="display: inline-block; margin-top: 20px; padding: 10px 20px; background-color: #1a73e8; color: white; text-decoration: none; border-radius: 4px;">打开页面</a>
      </div>
    ')
    

    这个容器看起来就像一个嵌入的窗口,用户点击按钮就能跳转到Google Sites页面。

  2. 抓取公开页面内容展示(限公开可访问的站点)
    如果你的Google Sites是公开的,还可以用rvest包抓取页面的核心内容,直接在Notebook里展示:

    library(rvest)
    library(IRdisplay)
    
    # 读取页面并提取主内容(注意调整选择器匹配你的站点结构)
    page <- read_html("https://sites.google.com/something")
    main_content <- page %>% html_element("div[role='main']") %>% html_html()
    
    # 在Notebook中展示内容,添加滚动条避免溢出
    display_html(paste0('<div style="width: 400px; height: 400px; overflow-y: auto; border: 1px solid #eee;">', main_content, '</div>'))
    

    提示:这种方法只适用于公开页面,并且要遵守Google的服务条款,不要抓取受保护的内容哦。

最后再强调下

Google Sites的嵌入限制是无法绕过的(除非你拥有该站点的管理权限,修改安全策略,但一般个人用户做不到),所以上面的替代方案是目前最实用的解决办法。

内容的提问来源于stack exchange,提问作者Acll123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:18:00