我的importXML + xPath + Soundcloud播放列表不工作

时间:2014-07-06 22:30:27

标签: xpath import google-docs soundcloud

那么如何使用importXML通过Google Docs Spreadsheet Plus xPath来帮助我复制Soundcloud播放列表曲目标题?

今天,我正在寻找一种解决方法来解决如何在Soundcloud播放列表/编辑中复制曲目的曲目标题。

我四处搜索并发现了Google Docs Spreadsheet提供的importXML功能。在进一步挖掘importXML函数时,我发现了xPath

很棒的组合!我想。

所以我很快就抓住了工具并进行了测试,这太棒了!我提取了一些数据。所以我决定准备实施该工具并将其与Soundcloud一起使用。

但是当我尝试实现语法时,我收到错误Import Internal Error

语法是

=IMPORTXML(A1,"//div[@class='sc-media-content']/a[@title]")

<div class="sc-media-content">是包含歌曲的曲目标题的div,它包含在具有title属性的锚标记内。

这是它的html块;

<div class="sc-media-content">
  <a class="soundTitle__title sc-link-dark sc-truncate " href="/seven-lions/velvetine-the-great-divide?in=thedubstepgod/sets/melodic-dubstep-chillstep" title="Velvetine - The Great Divide (Seven Lions Remix)">
  Velvetine - The Great Divide (Seven Lions Remix)
  </a>

我尝试提取的内容是Velvetine - The Great Divide (Seven Lions Remix)A1是粘贴Soundcloud Playlist Link的单元格。

我试过的其他语法

我也试过其他语法,比如;

  • =IMPORTXML(A1,"//div[@class='sc-media-content']/title") 正如建议here

  • =IMPORTXML(A1,"//div[@class='sc-media-content']/@title")从找到的答案here,虽然它不是一个公认的答案。

那么我做错了什么?如何使用xPath将这些soundcloud播放列表标题复制到我的Google Docs电子表格?

更新

根据TGH给出的答案,这应该有效//div[@class='sc-media-content']/a/text()

但是,问题是我们正在寻找的div块不在源代码中。我在播放列表的页面上做了view source code,并且div块不在那里。我所看到的只是JavaScripts。所以JS正在加载div块/类。

因此可能需要另一个问题来帮助解决这个问题

如何将xPath与JavaScript加载的html元素一起使用?

1 个答案:

答案 0 :(得分:1)

尝试以下

//div[@class='sc-media-content']/a/text()

或者,如果您想从标题中抓取它,请执行此操作

//div[@class='sc-media-content']/a/@title

我在这里测试了它似乎工作。粘贴你的html,但必须手动关闭div。

http://www.unit-testing.net/Xpath