首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >youtube api是否提供lastFM链接?

youtube api是否提供lastFM链接?
EN

Stack Overflow用户
提问于 2017-06-23 19:45:02
回答 1查看 688关注 0票数 2

我正在制作一个android应用程序,其中列出了流行歌曲。我正在通过LastFM接口获取歌曲的详细信息。我使用的API方法是http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=YOUR_API_KEY&artist=cher&track=believe&format=json

然而,这并不像LastFM在他们的网站上那样给我一个到YouTube的链接。有没有办法让我复制这个功能呢?我是应该使用另一种我不知道的API方法,还是应该完全依赖于其他方法?

我做了一些搜索,在搜索结果中偶然发现了http://downloadmarkt.be/lastfm-musicengine/example-search.php,YouTube链接也会显示出来。开发人员是如何做到这一点的?

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 03:17:32

在last.fm应用程序接口中没有直接链接到youtube视频。

您发布的网站直接在youtube上搜索链接,而不是在last.fm上搜索(参见脚本文件底部的javascript )。

我找到的最好的解决方案是:在last.fm API响应中得到一个页面歌曲url,

代码语言:javascript
复制
<url>
   https://www.last.fm/music/Anathema/_/Fragile+Dreams
</url>

该页面包含youtube的url。如果你打开html页面,你会在里面看到类似这样的东西

代码语言:javascript
复制
data-youtube-id="CsHYSvlsDWw"
data-youtube-url="https://www.youtube.com/watch?v=CsHYSvlsDWw"

使用你最喜欢的方法解析网页来获取信息,

代码语言:javascript
复制
$ curl -sL https://www.last.fm/music/Anathema/_/Fragile+Dreams |
  hxnormalize -x 2> /dev/null |
  hxselect -s '\n' -c 'a::attr(data-youtube-id) |
  uniq
$ CsHYSvlsDWw

也就是说,您获得了页面,消除了任何不一致,然后选择了data-youtube-id。您需要在匹配项之间添加新行,因为页面上似乎有两个这样的条目。最后一步,从两个相似的结果中选择一个(然后是end的uniq部分)。

祝你黑客快乐。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44720682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档