我有一个已发布的公共谷歌文档的网址(顶部写着使用谷歌文档发布)。它的 URL 格式为
https://docs.google.com/document/d/e/
请注意,这不是电子表格(Google 表格),而是文档。该文档在开头包含一些解释性文本,然后是我需要阅读的表格。如何使用 Python 且仅使用 URL 来完成此操作?我对 Google API 等了解不多。我不需要开头的文本,而只需要某种流行格式的表数据,例如 Pandas 数据框等。表数据也可以包含 Unicode 字符。
我尝试按照 Docs API 快速入门指南 (https://developers.google.com/docs/api/quickstart/python) 中的一些步骤进行操作。在我按照说明操作后,给定的代码(按原样复制粘贴)起作用了。尽管如此,它仍然涉及创建新的 Google 项目、启用 API、配置 OAuth 屏幕以及为桌面应用程序授权凭据的一些步骤。但是,当我替换示例文档 ID 时 (引号内的字符串
DOCUMENT_ID =“195j9eDD3ccgjQRttHhJPymLJUCOUjs-jmwTrekvdjFE”)
使用我需要访问的文档的ID,我收到此错误:
我只想要一个简单的解决方案,仅使用已发布文档的 URL,因为该文档已经公开。我不想执行一些身份验证步骤。我需要即使我将代码发送给其他人,他们也可以运行相同的代码并获得相同的结果,而不会出现任何身份验证问题。请帮我解决这个问题。
我也面临着同样的问题。我猜你和我可能正在做同样的应用挑战!
使用
requests
,我能够从调用页面中获取原始 HTML 响应,然后使用 BeautifulSoup
,我能够将其转换为可用的、可解析的对象:
# Make request
html_response = requests.get(url=url)
# Parse html into a BeautifulSoup object
soup = BeautifulSoup(html_response.text, 'html.parser')
# Collect and return the first table (assuming the first table is what you want)
return soup.find('table')
从那里,您可以更精确地解析表格以提取您想要的数据。以下是一些如何使用 BeautifulSoup 表来获得所需内容的示例:
我不会复制粘贴我的确切解决方案,因为我知道其他人会使用它来填写相同的工作申请挑战,但只要您有 Python 基础,这就能为您提供所需的一切。