使用Python,我如何从Google Doc中读取纯文本?

时间:2013-02-06 10:12:05

标签: python download google-docs google-docs-api

我试图从Python脚本中读取Google Doc的原始文本/内容(只是简单的文档,而不是电子表格或演示文稿),但到目前为止收效甚微。

这是我尝试过的:

import gdata.docs.service
client = gdata.docs.service.DocsService()
client.ClientLogin('email', 'password')
q = gdata.docs.service.DocumentQuery()
q.AddNamedFolder('email', 'Folder Name')
feed = client.Query(q.ToUri())
doc = feed.entry[0] # extract one of the documents

但是,此变量doc(类型为gdata.docs.DocumentListEntry)似乎不包含任何内容,只包含有关文档的元信息。

我在这里做错了吗?有人能指出我正确的方向吗?谢谢!

1 个答案:

答案 0 :(得分:2)

DocumentQuery并不会返回包含其内容的所有文档 - 这将永远需要。它只返回一个文档列表,其中包含每个文档的元数据。 (实际上,IIRC你可以通过这种方式获得预览页面,所以如果你的文档只有一页可能就够了......)

然后,您需要在单独的请求中下载内容。 content元素具有type(MIME类型)和src(实际数据的URL)。您可以下载src并解析它。但是,您可以通过添加exportFormat参数来覆盖默认类型,因此您无需进行任何解析。

请参阅文档中的Downloading documents and files部分,其中有一个示例,说明如何下载文档并指定格式。 (它使用的是.NET而不是Python,它使用HTML而不是纯文本,但你应该能够弄明白。)