media-info について
media-infoは、音楽や映像作品の情報を取得するスキルです。チャート、歌詞、映画、興行収入、視聴率などを例示された60s APIのエンドポイントで扱い、最新情報を示すボットやダイジェストに利用できます。
主な機能
- 01Netease Musicのチャートと詳細
- 02曲の歌詞検索
- 03映画一覧とリアルタイム興行収入
- 04テレビ視聴率とウェブシリーズランキング
活用シーン
- 01音楽レコメンドボットの作成
- 02映画の興行収入の追跡
- 03曲名やアーティスト名で歌詞検索
- 04音楽・映像情報のダイジェスト作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vikiboss/ 60s-skills --skill media-infoインストール後、Claude Code で/media-infoを入力して読み込まれたか確認します。
詳細
メディア情報スキル
音楽や映画の情報を取得します。チャート、歌詞、興行収入、評価などを確認できます。
利用可能な情報
- Netease Music ランキング - 音楽チャート一覧
- 音楽ランキング詳細 - 楽曲一覧の詳細
- 歌詞検索 - 楽曲の歌詞を検索
- 映画情報 - 全映画データベース
- 映画興行収入 - リアルタイムの興行収入ランキング
- テレビ視聴率 - テレビドラマの視聴率
- ウェブシリーズランキング - オンラインシリーズの人気度
API エンドポイント
| 種類 | エンドポイント | メソッド |
|---|---|---|
| 音楽ランキング | /v2/ncm-rank/list | GET |
| ランキング詳細 | /v2/ncm-rank/{id} | GET |
| 歌詞 | /v2/lyric | POST |
| 全映画 | /v2/maoyan/all/movie | GET |
| 興行収入 | /v2/maoyan/realtime/movie | GET |
| テレビ視聴率 | /v2/maoyan/realtime/tv | GET |
| ウェブシリーズ | /v2/maoyan/realtime/web | GET |
すぐに試せる例
Netease Music チャート
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']}")
ベストプラクティス
- 音楽ランキング:頻繁には変わらないため、ランキング一覧をキャッシュします
- 歌詞:検索精度を高めるため、アーティスト名も含めます
- 興行収入:データは頻繁に更新されるため、タイムスタンプを表示します
- エラー処理:歌詞やデータが見つからない場合に対処します
- フォーマット:データを見やすく、読みやすい形式で表示します
関連リソース
コメント
Markdown 対応