【问题标题】:Get data from XML by Google SheetS ImportXML function通过 Google SheetS ImportXML 函数从 XML 中获取数据
【发布时间】:2019-10-23 10:31:01
【问题描述】:

我正在尝试使用 Google 表格的函数 IMPORTXML 从 XML 中抓取数据,但返回为空。

我尝试了这些公式:

=IMPORTXML("https://www.futbin.com/20/player/42955/", "//span[@id='ps-lowest-1']/text()")

=INDEX(IMPORTXML("https://www.futbin.com/20/player/42955/" , "//div[@class='xbox-lowest-1']"),1,1)

= IMPORTXML("https://www.futbin.com/20/player/42955/", "//*[@id='xbox-lowest-1']")

=IMPORTXML("https://www.futbin.com/20/player/42955/", "//*[@id='xbox-lowest-1']/text()")

也许数据是由脚本或其他东西生成的。

【问题讨论】:

  • 该页面上的数据是使用 jscript 从另一个页面动态加载的。您可以使用请求之类的 python 库来获取它,但我不知道您是否可以使用 importxml 将其直接加载到您的工作表中。您可能必须将其写入 csv 文件,然后再导入。

标签: xpath web-scraping google-sheets google-sheets-formula google-sheets-importxml


【解决方案1】:

你可以这样做:

=QUERY(ARRAY_CONSTRAIN(IMPORTDATA("https://www.futbin.com/20/player/42955/"), 5000, 1), 
 "where lower(Col1) contains 'lowest'")

但正如您所见,这些标签之间没有数值,因为 Google 表格不支持 JavaScript 元素的网页抓取

【讨论】:

  • 感谢您的重播。我怎样才能实现我的目标? (用另一种语言?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多