Форум сайта python.su
IDLE (Python 3.10 64-bit)
Windows 10
—————————-
Есть плейлист IPTV — 1.m3u:
#EXTM3U
#EXTINF:-1,AVD Info
https://avdmono.do.am/arm/AVD.mp4
#EXTINF:-1 tvg-id=“40791” tvg-logo="https://avdmono.do.am/avdlogo/Cinema.png",AVD TV
http://v2.catcast.tv/content/40791/index.m3u8
#EXTINF:-1 tvg-id=“40953” tvg-logo="https://avdmono.do.am/logo/NorMax_kids.png",NorKIds
https://autopilot.catcast.tv/content/40953/index.m3u8
#EXTINF:-1 group-title=“Музыкальные ”,Vevo Pop Europe
https://5f3491c50b093e00015a3c4c-sam…/manifest.m3u8
#EXTINF:-1 , group-title=“Музыкальные ”,V
#EXTGRP:Кино
http://livetv.mylifeisgood.ml/mfoliv…a=vip_premiere
#EXTINF:-1 group-title=“Беларусь”,Белрос
http://uiptv.do.am/1ufc/116316122/playlist.m3u8
#EXTINF:-1 , group-title=“Музыкальные ”,Vuuu
#EXTGRP:Познавательные
http://bigteisti2.lifeyosso.fun:5637…pRMVpYSjBaR1puindex.m3u8
#EXTINF:-1,Кинохит HD
#EXTGRP:Кино
http://193.33.88.172:8080/kinohit/index.m3u8
————————————————————————
Нужен простой скрипт для удаления ненужного из этого плейлиста.
Должно в итоге получится так:
#EXTM3U
#EXTINF:-1,AVD Info
https://avdmono.do.am/arm/AVD.mp4
#EXTINF:-1,AVD TV
http://v2.catcast.tv/content/40791/index.m3u8
и т.д.
—————————————————————-
Что мы должны сделать:
1. В строке: #EXTINF:-1, ….. удалить всё до запятой за которой идёт название канала.
2. Удалить полностью строки: #EXTGRP: Здесь могут меняться названия групп (#EXTGRP:Познавательные #EXTGRP:Новостные и т.д)
—————————-
Я проверял этот скрипт:
# -*- coding: utf-8 -* import requests import os from os import listdir from os.path import isfile, join import re # создаем папку playlists если ее нет if not os.path.isdir('playlists'): os.mkdir('playlists') main() # получаем список файлов плейлистов из папки playlists playlists = [f for f in listdir('playlists') if isfile(join('playlists', f))] for i in playlists: with open(f'playlists/{i}', encoding='utf-8') as file_in: txt = file_in.read() txt = re.sub(r"( tvg-id.*).(\,)", ',', txt) txt = re.sub(r"(#EXTGRP.*).(\n)", '', txt) with open(f'out_{i}', 'w') as file_out: file_out.write(txt)
Прикреплённый файлы:
1.m3u (971 байт)
Офлайн
Когда открываешь файл на запись, нужно также указать кодировку внутри open().
Офлайн
Спасибо py.user.next
Исправил эту строку:
with open(f'out_{i}', 'w', encoding='utf-8') as file_out:
Отредактировано satfan (Апрель 2, 2022 12:32:57)
Офлайн
Ты когда постишь содержимое файла, ты его тоже в тег code вставляй. Иначе ссылки появляются и обрезаются пробелы и так далее.
Обрати внимание на теги и на то, как эти теги отличаются
[code python]
Сюда вставляешь код на Python
[/code]
[code]
Сюда вставляешь содержимое файла
[/code]
[code python] <- Здесь ставишь один пробел
Первая строка кода на Python
Вторая строка кода на Python
<- Здесь ставишь один пробел
Третья строка кода на Python
Четвёртая строка кода на Python
[/code]
satfanНадо отыскивать название канала в конце, а потом двигаться влево до запятой. Просто проанализируй то, как ты сам глазами видишь, где стоит название канала. Оно не само видится, оно видится по алгоритму, который мозг быстро пробегает. Вот этот алгоритм собственного мозга можно отследить, вытащить, формализовать, а потом реализовать в коде.
С 8 строки ошибки.
Как поправить код Python ?
Отредактировано py.user.next (Апрель 2, 2022 23:05:57)
Офлайн