Скрипт вытаскивания текста ограниченного двумя символами из файла, и вставка его в другой файл. Как?
Доброго всем времени суток.
1. Есть файл m3u (плейлист), он часто обновляется, и находится по прямой ссылке в общем доступе в интернете.
Имеет он такую структуру:
EXTM3U
#EXTINF:-1,Пятый Канал
http://бла.бла.бла.бла:4022/udp/некийipпотока:1234
Жирным выделена часть которая меняется.
2. Есть другой файл. TXT, хранится локально, либо на общедоступном ftp (моем личном, вариант предпочтительнее)
Его структура:
amedia1,Amedia 1 HD,http://бла.бла.бла.бла:1234/udp/некийipпотока:1234
amedia-hit,Amedia HIT HD,http://бла.бла.бла.бла:1234/udp/некийipпотока:1234
amedia-hd,Amedia Premium HD,http://бла.бла.бла.бла:1234/udp/некийipпотока:1234
animal-hd,Animal Planet HD,http://бла.бла.бла.бла:1234/udp/некийipпотока:1234
discov_rus-hd,Discovery Channel HD,http://бла.бла.бла.бла:1234/udp/некийipпотока:1234
Задача: автоматизировать замену "бла.бла.бла.бла" в файле txt, значением из файла m3u. Значение всего одно, оно повторяется в каждой строке.
Т.е. кратко: скачал файл, нашел значение, открыл файл, заменил значение, закрыл, закачал обратно.
Также интересует возможность исполнения этого по расписанию и не на локальной машине, может есть какие-то сервисы...без покупки vps
p.s. постоянно меняется ретранслирующий сервер iptv(
Ну например, такой регуляркой вытащить нужный url потока ([A-Z\d\.-]{2,})\.([A-Z]{2,})(:\d{2,4})?/i
Затем заменить потоки в файле. Реализуется на любом языке программирования
И вот пример, можно поставить на cron на любом бесплатном хостинге, например Hostinger
Создал всё необходимое на hostfinger, сделал себе доступ к файлам...осталось решить вопрос со скриптом)
Не могли бы вы помочь? Предоставлю в закрытом чате всю информацию
Файл m3u сохраняете в <file_from_server>
выполняете скрипт на Bash (sed обычно установлен)
# get new addr
blah_blah=$(sed -ne '\#http://\(.\+\?\)/udp/.\+#{s//\1/p;q}' <file_from_server>)
# replace @@ADDR@@ to blah-blah
# nota bene double quotes
sed -e "s/@@ADDR@@/$blah_blah/" <template_file>
на выходе получаете нужный вам файл, перенаправлением сохраняете
import urllib2
urlInputFile = 'http://xxxx' # link to m3u file
outputFile = 'result.txt'
response = urllib2.urlopen(urlInputFile)
fileM3U = response.readlines()
streamIP = ''
for line in fileM3U:
if 'http' in line:
if not streamIP: streamIP = line.split('/')[2]
with open(outputFile,mode='r') as f:
lines = f.readlines()
with open(outputFile,mode='w') as f:
for line in lines:
f.write(line.replace(line.split('/')[2],streamIP))