如何使用 API 从 Google 文档中提取标题

How to pull headings from Google document using API

目前正在尝试创建一个 python 脚本来检查 google 文档的各种 SEO 页面指标。

google 文档 API 有一个 good sample 展示了如何从 google 文档中提取所有文本。但是,这只是 returns 没有格式的纯文本。

为了执行我的检查,我需要能够拆分出 H1、H2-H4、粗体文本等,但是在 around/searching 围绕 API [=23= 播放了两个小时之后], 我不知道如何编辑以下循环以获得(例如)所有 HEADING_2 元素。

    text = ''
    for value in elements:
        if 'paragraph' in value:
            elements = value.get('paragraph').get('elements')
            for elem in elements:
                text += read_paragraph_element(elem)
        elif 'table' in value:
            # The text in table cells are in nested Structural Elements and tables may be
            # nested.
            table = value.get('table')
            for row in table.get('tableRows'):
                cells = row.get('tableCells')
                for cell in cells:
                    text += read_strucutural_elements(cell.get('content'))
        elif 'tableOfContents' in value:
            # The text in the TOC is also in a Structural Element.
            toc = value.get('tableOfContents')
            text += read_strucutural_elements(toc.get('content'))
    return text

感谢任何帮助。谢谢

我认为您的目标和现状如下。

  • 您想检索HEADING_2段落样式的文本。
  • 您想使用 googleapis 实现此目的 python。
  • 您想使用问题中的脚本实现您的目标。
  • 您已经使用 Docs API.API 从 Google 文档中获取了值。

修改点:

  • 在这种情况下,我认为当namedStyleType的值为HEADING_2时,需要检索文本。

当这一点反映到你的脚本中,就变成了下面这样。

修改后的脚本:

从:
for value in elements:
    if 'paragraph' in value:
        elements = value.get('paragraph').get('elements')
到:
for value in elements:
    if 'paragraph' in value and value['paragraph']['paragraphStyle']['namedStyleType'] == 'HEADING_2':  # Modified
        elements = value.get('paragraph').get('elements')

参考: