You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发APP时,如何从Genius歌曲网页提取歌曲ID用于API调用?

从Genius歌曲链接获取API可用的歌曲ID

完全可以从Genius歌曲网页直接提取歌曲ID,下面两种方法可以满足需求:

方法一:直接解析歌曲页面HTML提取ID

用户提供的歌曲URL对应的页面里,藏着多个可以直接提取ID的位置,只需要发送GET请求获取页面内容后,查找以下任一内容即可:

  • 查找<meta property="al:ios:url"标签,内容格式为genius://song/[数字ID],直接提取中间的数字串
  • 查找页面内嵌的JavaScript变量window.__PRELOADED_STATE__.song.id,这个变量的数值就是歌曲ID
  • 查找带有data-song-id属性的元素(比如部分页面的<div class="song_data">),该属性的值即为ID

方法二:通过Genius API搜索接口间接获取ID

如果已经拥有Genius API访问令牌,可以通过搜索接口匹配歌曲:

  1. 从用户提供的URL中提取歌曲标题(比如拆分URL最后一段,去掉末尾的-lyrics后缀)
  2. 调用Genius的搜索接口,将提取到的标题作为搜索关键词
  3. 取搜索结果中第一个匹配项的id字段,就是API可用的歌曲ID

示例伪代码(Python):

import requests

def fetch_genius_song_id(api_token, song_web_url):
    # 从URL解析歌曲标题
    song_title = song_web_url.split('/')[-1].replace('-lyrics', '')
    # 构造搜索请求
    search_endpoint = f"https://api.genius.com/search?q={song_title}"
    auth_headers = {"Authorization": f"Bearer {api_token}"}
    response = requests.get(search_endpoint, headers=auth_headers)
    # 解析返回结果
    if response.status_code == 200:
        search_results = response.json()["response"]["hits"]
        if search_results:
            return search_results[0]["result"]["id"]
    return None

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:43:15