如何使用 importXML 从网站将数据导入我的 Google Sheet
How Do I Import Data Into My Google Sheet from a Website Using importXML
今天在 Google Sheet 中尝试使用 importXML 时,我 运行 遇到了问题。我试图将 USTA 锦标赛页面的标题 header 导入 Google Sheet,但是,这没有用,因为它只是生成了 HTML 的标题正在显示的网页 ('TournamentHome')。下面是GoogleSheet,以及使用的网址:
Google Sheet 和函数:
=importXML(F2, "//html//body[@id='thebody']//div[@id='content']//div[@id='pagetitle']")
正在使用的网站和源代码部分
我试图从网站上提取的标题是 TOWPATH 24th ANNUAL THANKSGIVING JR SINGLES。
网站的link是https://m.tennislink.usta.com/tournamenthome?T=225779
更新:
=REGEXEXTRACT(QUERY(ARRAY_CONSTRAIN(IMPORTDATA(
"https://m.tennislink.usta.com/tournamenthome?T=225779"), 555, 1),
"where Col1 contains 'escape'"), "\(""(.*)""\)")
不幸的是,这不可能按照您尝试的方式进行,因为您尝试抓取的字段由 JavaScript 控制,而 Google Sheets 不能 understand/import JS。您可以简单地通过为给定的 link 禁用 JS 来测试它,您将看到究竟可以将什么导入 Google Sheets:
这个示例公式怎么样?在这个公式中,title 值是在将值放入 #pagetitle
之前直接从脚本中检索的。请将此视为几个答案之一。
示例公式:
=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='tournament_search']/script"),"escape\(""([\w\s\S]+)""")
结果:
当https://m.tennislink.usta.com/TournamentHome/tournament.aspx?T=38079
和https://m.tennislink.usta.com/tournamenthome?T=225779
分别放入"A1"和"A2"时,结果如下
参考:
今天在 Google Sheet 中尝试使用 importXML 时,我 运行 遇到了问题。我试图将 USTA 锦标赛页面的标题 header 导入 Google Sheet,但是,这没有用,因为它只是生成了 HTML 的标题正在显示的网页 ('TournamentHome')。下面是GoogleSheet,以及使用的网址:
Google Sheet 和函数:
=importXML(F2, "//html//body[@id='thebody']//div[@id='content']//div[@id='pagetitle']")
正在使用的网站和源代码部分
我试图从网站上提取的标题是 TOWPATH 24th ANNUAL THANKSGIVING JR SINGLES。
网站的link是https://m.tennislink.usta.com/tournamenthome?T=225779
更新:
=REGEXEXTRACT(QUERY(ARRAY_CONSTRAIN(IMPORTDATA(
"https://m.tennislink.usta.com/tournamenthome?T=225779"), 555, 1),
"where Col1 contains 'escape'"), "\(""(.*)""\)")
不幸的是,这不可能按照您尝试的方式进行,因为您尝试抓取的字段由 JavaScript 控制,而 Google Sheets 不能 understand/import JS。您可以简单地通过为给定的 link 禁用 JS 来测试它,您将看到究竟可以将什么导入 Google Sheets:
这个示例公式怎么样?在这个公式中,title 值是在将值放入 #pagetitle
之前直接从脚本中检索的。请将此视为几个答案之一。
示例公式:
=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='tournament_search']/script"),"escape\(""([\w\s\S]+)""")
结果:
当https://m.tennislink.usta.com/TournamentHome/tournament.aspx?T=38079
和https://m.tennislink.usta.com/tournamenthome?T=225779
分别放入"A1"和"A2"时,结果如下