通过PHP CURL检索Soundcloud媒体URL?
我正在使用SoundCloudAPI+PHP获取有关Soundcloud曲目的信息,以便将jPlayer用作播放列表的mp3播放器。现在,我可以完全访问所有关于曲目的信息,除了mp3的实际链接,以便播放曲目 根据API,如果轨迹允许流,您只需卷曲流URL(即:) 现在,如果我尝试卷曲它,我的结果是一个简单的HTML位通过PHP CURL检索Soundcloud媒体URL?,php,api,curl,soundcloud,Php,Api,Curl,Soundcloud,我正在使用SoundCloudAPI+PHP获取有关Soundcloud曲目的信息,以便将jPlayer用作播放列表的mp3播放器。现在,我可以完全访问所有关于曲目的信息,除了mp3的实际链接,以便播放曲目 根据API,如果轨迹允许流,您只需卷曲流URL(即:) 现在,如果我尝试卷曲它,我的结果是一个简单的HTML位。 我想要的链接是整个media.soundcloud.com/sjkn57c6gAA5,就这样。但是,如果我尝试对'//a/@href'执行xpath,则不会返回任何结果。有人能告
。
我想要的链接是整个media.soundcloud.com/sjkn57c6gAA5
,就这样。但是,如果我尝试对'//a/@href'
执行xpath,则不会返回任何结果。有人能告诉我如何获取这个链接的正确方向,这样我就可以生成文件的适当链接了吗
提前谢谢
Tre如果您在HTML上使用xpath(顺便提一下,不推荐使用,因为HTML不是XML的子集,除非它是XHTML,并且不需要关闭一些标记),那么它不应该是//HTML/body/a/@href吗 否则,可以使用正则表达式提取URL:
if(preg_match('/href="(.*?)"/', $m)) {
$url = $m[1];
}
或者你可以缩小范围,去掉其他部分,但你需要非常小心,因为我怀疑API是否保证URL总是以相同的格式(例如,子域总是以媒体结尾)。那么,你建议如何解析HTML?我主要使用XPath,到现在为止还没有遇到任何问题。只是正则表达式?