# M3U8 プレイリストを Python でパースするサンプル
import re

def parse_m3u8(filepath):
    channels = []
    with open(filepath, encoding='utf-8') as f:
        lines = f.readlines()
    i = 0
    while i < len(lines):
        line = lines[i].strip()
        if line.startswith('#EXTINF'):
            # チャンネル名を抽出
            match = re.search(r',(.+)$', line)
            name = match.group(1) if match else 'Unknown'
            # グループ名を抽出
            group = re.search(r'group-title="([^"]+)"', line)
            group_name = group.group(1) if group else 'Ungrouped'
            # 次の行が URL
            if i + 1 < len(lines):
                url = lines[i + 1].strip()
                channels.append({'name': name, 'group': group_name, 'url': url})
            i += 2
        else:
            i += 1
    return channels

# 使い方
# channels = parse_m3u8('M3U8/TV.m3u8')
# for ch in channels[:5]:
#     print(f"{ch['group']} / {ch['name']}")