【问题标题】:Google Sheets query in PythonPython 中的 Google 表格查询
【发布时间】:2018-01-22 19:01:59
【问题描述】:

我有一个使用 =IMPORTXML 函数从网站获取数据的 Google 表格。我还有一个 Python 脚本,可以从 Google 表格中获取数据。整个事情都在工作,但我现在正试图简化它。整个过程始于 Google 表格中的手动过程。它现在是自动化的,但它并不漂亮。

两个具体问题:

1) 使用 Python 抓取网站的最佳方法是什么?我想让这一切都在一个脚本中运行。 Beautiful Soup 这样的东西会是一个好的解决方案吗?

2) 目前,对 google API 的查询被编码为分别运行每个查询(它不是子函数,但我想把它变成一个)。它基本上复制了quickstart script:

spreadsheetId = 'xxxx'
rangeName = 'xxxx'
result = service.spreadsheets().values().get(spreadsheetId=spreadsheetId,range=rangeName).execute()
values = result.get('values', [])
variable = ''
for row in values:
    variable = '%s' % (row[0])
if variable != storedVariable:
    print ('Condition not met...')
    return;
#Do a thing

我的代码有不同版本的设置变量,根据存储的值检查它,如果存在正确的条件则继续。有没有更简单的方法来解析从 API 调用返回的值,以便将其设置为变量?

【问题讨论】:

    标签: python web-scraping google-sheets beautifulsoup google-sheets-api


    【解决方案1】:
    1. 只要页面是完全静态的,BeautifulSoup 就可以很好地抓取数据。对于大多数网页,您需要能够与页面交互以获取您需要的数据或遍历多个页面。 Selenium 非常适合这些情况。
    2. 对于这个问题,我没有更好的解决方案。 google-api-python-client 库很麻烦。看起来 gspread 曾经是一个不错的替代品,功能更多,但它已经快一年没有更新了,似乎已经落后于 google 库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多