media-info

📁 vikiboss/60s-skills 📅 4 days ago
9
总安装量
2
周安装量
#32502
全站排名
安装命令
npx skills add https://github.com/vikiboss/60s-skills --skill media-info

Agent 安装分布

claude-code 2
amp 1
openclaw 1
qoder 1
cursor 1

Skill 文档

Media Information Skill

Get music and movie information including charts, lyrics, box office, and ratings.

Available Information

  1. Netease Music Ranks – Music chart lists
  2. Music Rank Details – Detailed song lists
  3. Lyrics Search – Find song lyrics
  4. Movie Information – All movies database
  5. Movie Box Office – Real-time box office rankings
  6. TV Ratings – TV drama ratings
  7. Web Series Rankings – Online series popularity

API Endpoints

Type Endpoint Method
Music Ranks /v2/ncm-rank/list GET
Rank Detail /v2/ncm-rank/{id} GET
Lyrics /v2/lyric POST
All Movies /v2/maoyan/all/movie GET
Box Office /v2/maoyan/realtime/movie GET
TV Ratings /v2/maoyan/realtime/tv GET
Web Series /v2/maoyan/realtime/web GET

Quick Examples

Netease Music Charts

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']}")

Lyrics Search

# 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']}")

Movie Box Office

# 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']}")

TV Ratings

# 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']}")

Web Series Rankings

# 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']}")

Use Cases

Music Recommendation Bot

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

Movie Box Office Tracker

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

Lyrics Finder

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 "未找到歌词"

Entertainment Digest

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

Example Interactions

User: “现在什么歌最火?”

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']}")

User: “帮我找《稻香》的歌词”

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'])

User: “今天电影票房排行”

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']}")

Best Practices

  1. Music Ranks: Cache rank lists as they don’t change frequently
  2. Lyrics: Include artist name in search for better accuracy
  3. Box Office: Data updates frequently, show timestamp
  4. Error Handling: Handle cases where lyrics or data not found
  5. Formatting: Present data in a clean, readable format

Related Resources