【问题标题】:How Do I Import Data Into My Google Sheet from a Website Using importXML如何使用 importXML 从网站将数据导入我的 Google 表格
【发布时间】:2019-06-02 22:06:52
【问题描述】:

今天在 Google 表格中尝试使用 importXML 时,我遇到了一个问题。我试图将 USTA 锦标赛页面的标题标题导入 Google 表格,但是这不起作用,因为它只是导致显示网页的 HTML 标题(“TournamentHome”)。以下是 Google 表格和使用的网站:

Google 表格和功能:

=importXML(F2, "//html//body[@id='thebody']//div[@id='content']//div[@id='pagetitle']")


正在使用的网站和部分源代码

我试图从网站中提取的标题是TOWPATH 24th ANNUAL THANKSGIVING JR SINGLES

网站链接是https://m.tennislink.usta.com/tournamenthome?T=225779

【问题讨论】:

    标签: xpath google-sheets import google-sheets-formula google-sheets-importxml


    【解决方案1】:

    更新:

    =REGEXEXTRACT(QUERY(ARRAY_CONSTRAIN(IMPORTDATA(
     "https://m.tennislink.usta.com/tournamenthome?T=225779"), 555, 1), 
     "where Col1 contains 'escape'"), "\(""(.*)""\)")
    


    不幸的是,这不可能按照您尝试的方式进行,因为您尝试抓取的字段由 JavaScript 控制,而 Google 表格无法理解/导入 JS。您可以简单地通过禁用给定链接的 JS 来测试这一点,您将看到可以导入 Google 表格的确切内容:

    【讨论】:

      【解决方案2】:

      这个示例公式怎么样?在此公式中,在将值放入#pagetitle 之前,直接从脚本中检索标题值。请认为这只是几个答案之一。

      示例公式:

      =REGEXEXTRACT(IMPORTXML(A1,"//div[@class='tournament_search']/script"),"escape\(""([\w\s\S]+)""")
      

      结果:

      https://m.tennislink.usta.com/TournamentHome/tournament.aspx?T=38079https://m.tennislink.usta.com/tournamenthome?T=225779放入“A1”和“A2”时,结果如下。

      参考:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-04
        • 2022-10-31
        • 1970-01-01
        • 1970-01-01
        • 2022-12-30
        • 1970-01-01
        • 1970-01-01
        • 2021-12-15
        相关资源
        最近更新 更多