今天,我正在寻找一种解决方法来解决如何在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元素一起使用?
答案 0 :(得分:1)
尝试以下
//div[@class='sc-media-content']/a/text()
或者,如果您想从标题中抓取它,请执行此操作
//div[@class='sc-media-content']/a/@title
我在这里测试了它似乎工作。粘贴你的html,但必须手动关闭div。