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

如何用Python提取SharePoint Wiki的ASPX页面内容?

解决SharePoint Wiki页面自定义文本提取问题

原因分析

直接通过ListItem或File对象获取的Content属性返回的是ASPX页面的原始源码,包含asp:content这类服务器端控件标记,而非你编写的自定义文本内容。

解决方案

方法1:提取Wiki专属字段内容

SharePoint Wiki页面的自定义内容存储在WikiField字段中,可通过指定字段名精准获取:

from office365.sharepoint.client_context import ClientContext
from office365.runtime.auth.user_credential import UserCredential

# 配置参数
site_url = "https://domain.sharepoint.com/sites/SiteName"
username = "你的账号"
password = "你的密码"
page_server_relative_url = "/sites/SiteName/SitePages/name.aspx"

# 初始化客户端上下文
ctx = ClientContext(site_url).with_credentials(UserCredential(username, password))

# 获取页面关联的ListItem并加载指定字段
file = ctx.web.get_file_by_server_relative_url(page_server_relative_url)
list_item = file.listItemAllFields
ctx.load(list_item, ["WikiField"])
ctx.execute_query()

# 提取自定义文本
custom_content = list_item.properties.get("WikiField")
print(custom_content)

方法2:获取页面渲染后的HTML内容

如果需要页面实际展示的HTML内容,可调用二进制流方法获取:

# 复用上述已初始化的ctx对象
file = ctx.web.get_file_by_server_relative_url(page_server_relative_url)
binary_stream = file.open_binary_stream()
ctx.execute_query()

# 解码并输出HTML内容
html_content = binary_stream.read().decode("utf-8")
print(html_content)

额外提示

  • 确保账号拥有该Wiki页面的读取权限
  • 现代SharePoint站点的部分页面可能使用CanvasContent1字段存储内容,可尝试替换WikiField为该字段名
  • 若用户凭据认证受限,可改用应用权限(ClientCredential)完成认证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:27:40