mcpField
M
media-info

media-info

github.com/vikiboss其他47107 次安装34 周前更新
代码仓库

关于 media-info

media-info 是获取音乐与影视信息的技能,涵盖榜单、歌词、电影、票房和收视数据。它通过示例中的 60s API 端点提供信息,适用于展示娱乐动态的机器人或摘要。

主要功能

  1. 01网易云音乐榜单及详情
  2. 02按关键词搜索歌词
  3. 03电影列表与实时票房
  4. 04电视剧收视及网剧排名

适用场景

  1. 01制作音乐推荐机器人
  2. 02追踪实时电影票房
  3. 03按歌曲或艺人查找歌词
  4. 04汇总音乐与影视动态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vikiboss/60s-skills --skill media-info

安装后在 Claude Code 中输入/media-info确认已加载。

详细介绍

媒体信息技能

获取音乐和电影信息,包括排行榜、歌词、票房和评分。

可用信息

  1. 网易云音乐排行榜 - 音乐排行榜列表
  2. 排行榜详情 - 歌曲列表详情
  3. 歌词搜索 - 查找歌曲歌词
  4. 电影信息 - 全部电影数据库
  5. 电影票房 - 实时票房排名
  6. 电视剧评分 - 电视剧评分
  7. 网络剧排行榜 - 网络剧热度排名

API 端点

类型端点方法
音乐排行榜/v2/ncm-rank/listGET
排行榜详情/v2/ncm-rank/{id}GET
歌词/v2/lyricPOST
全部电影/v2/maoyan/all/movieGET
票房/v2/maoyan/realtime/movieGET
电视剧评分/v2/maoyan/realtime/tvGET
网络剧/v2/maoyan/realtime/webGET

快速示例

网易云音乐排行榜
import requests

# Get all music rank lists
response = requests.get('https://60s.viki.moe/v2/ncm-rank/list')
ranks = response.json()

print("🎵 网易云音乐榜单")
for rank in ranks['data']:
    print(f"· {rank['name']} (ID: {rank['id']})")

# Get specific rank details
rank_id = '3778678'  # 飙升榜
response = requests.get(f'https://60s.viki.moe/v2/ncm-rank/{rank_id}')
songs = response.json()

print(f"\n🎵 {songs['name']}")
for i, song in enumerate(songs['songs'][:10], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
歌词搜索
# Search for lyrics
data = {'keyword': '稻香 周杰伦'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}")
print(f"\n{result['lyrics']}")
电影票房
# Get real-time box office
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时电影票房")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']}")
    print(f"   票房:{movie['box_office']}")
    print(f"   上座率:{movie['attendance_rate']}")
电视剧评分
# Get TV drama ratings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv')
shows = response.json()

print("📺 电视剧收视率排行")
for show in shows['data'][:5]:
    print(f"{show['rank']}. {show['name']}")
    print(f"   收视率:{show['rating']}")
网络剧排行榜
# Get web series rankings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/web')
series = response.json()

print("📱 网剧热度排行")
for s in series['data'][:5]:
    print(f"{s['rank']}. {s['name']}")
    print(f"   热度:{s['popularity']}")

使用场景

音乐推荐机器人
def get_trending_music():
    # Get soaring charts (飙升榜)
    response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
    songs = response.json()
    
    message = "🎵 当前最火的歌曲:\n\n"
    for i, song in enumerate(songs['songs'][:5], 1):
        message += f"{i}. {song['name']} - {song['artist']}\n"
    
    return message
电影票房追踪器
def get_box_office_summary():
    response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
    movies = response.json()
    
    top_3 = movies['data'][:3]
    
    summary = "🎬 今日票房TOP3\n\n"
    for movie in top_3:
        summary += f"🏆 {movie['rank']}. {movie['name']}\n"
        summary += f"   💰 票房:{movie['box_office']}\n"
        summary += f"   📊 上座率:{movie['attendance_rate']}\n\n"
    
    return summary
歌词查找器
def find_lyrics(song_name, artist=''):
    keyword = f"{song_name} {artist}".strip()
    data = {'keyword': keyword}
    
    response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
    result = response.json()
    
    if result.get('lyrics'):
        return f"🎤 {result['song']} - {result['artist']}\n\n{result['lyrics']}"
    else:
        return "未找到歌词"
娱乐资讯简报
def get_entertainment_digest():
    # Music
    music_rank = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678').json()
    top_song = music_rank['songs'][0]
    
    # Movies
    movies = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie').json()
    top_movie = movies['data'][0]
    
    # TV shows
    shows = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv').json()
    top_show = shows['data'][0]
    
    digest = f"""
🎭 娱乐资讯速递

🎵 音乐:{top_song['name']} - {top_song['artist']}
🎬 电影:{top_movie['name']} 票房{top_movie['box_office']}
📺 电视剧:{top_show['name']} 收视率{top_show['rating']}
    """
    
    return digest

示例交互

用户:“现在什么歌最火?”
response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
songs = response.json()

print("🎵 网易云飙升榜 TOP 5")
for i, song in enumerate(songs['songs'][:5], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
用户:“帮我找《稻香》的歌词”
data = {'keyword': '稻香'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}\n")
print(result['lyrics'])
用户:“今天电影票房排行”
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时票房排行")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']} - {movie['box_office']}")

最佳实践

  1. 音乐排行榜:缓存排行榜列表,因为它们不会频繁变化
  2. 歌词:在搜索中加入歌手姓名,以提高准确度
  3. 票房:数据更新频繁,请显示时间戳
  4. 错误处理:处理未找到歌词或数据的情况
  5. 格式:以清晰易读的格式呈现数据

相关资源

评论

支持 Markdown