Uragan66
29-02-2020, 12:29
Добрый день всем!
Есть задача сформировать .csv из таблицы, полученной из исходного кода web страницы.
Таблицу получаю посредством скрипта Get-WebRequestTable.ps1 (https://www.leeholmes.com/blog/2015/01/05/extracting-tables-from-powershells-invoke-webrequest/) таким кодом:
$url = 'https://epg.iptvx.one/'
$t = Invoke-WebRequest $url
.\Get-WebRequestTable.ps1 $t -TableNumber 0 | Format-Table P2,P3 -hideTableHeaders -AutoSize -Wrap | Out-File .\epg.txtНо полученный формат не совсем устраивает. Вид такой:
ID в EPG Привязанные названия каналов
no_epg NO EPG
no_epg_cinema NO EPG Cinema
no_epg_mult NO EPG Mult
no_epg_music NO EPG Music
no_epg_news NO EPG News
no_epg_sport NO EPG Sport
0x0-fireplace-hd Горящий камин
Ланет HOME
Lanet Home
0x0 Fireplace HD
1-balt-ee PBK EE
PBK Эстония
Первый Балтийский канал Эстония
Первый Балтийский Эстония
1-balt-lt PBK LT
PBK Литва
Первый Балтийский канал Литва
Первый Балтийский Литва
1-balt-lv PBK LV
Pirmais Baltijas Kanāls
Первый Балтийский канал
Первый Балтийский
Первый Балтийский Латвия
1-music-hu 1 Music Channel Hungary
10kanal-novokuzneck 10 канал Новокузнецк
112-ua 112 Украина
112 Украина HD
112 Україна
112 Україна HD А для дальнейшей обработки необходим хотя бы такой формат:
ID в EPG Привязанные названия каналов
no_epg NO EPG
no_epg_cinema NO EPG Cinema
no_epg_mult NO EPG Mult
no_epg_music NO EPG Music
no_epg_news NO EPG News
no_epg_sport NO EPG Sport
0x0-fireplace-hd;Горящий камин
0x0-fireplace-hd;Ланет HOME
0x0-fireplace-hd;Lanet Home
0x0-fireplace-hd;0x0 Fireplace HD
1-balt-ee;PBK EE
1-balt-ee;PBK Эстония
1-balt-ee;Первый Балтийский канал Эстония
1-balt-ee;Первый Балтийский Эстония
1-balt-lt;PBK LT
1-balt-lt;PBK Литва
1-balt-lt;Первый Балтийский канал Литва
1-balt-lt;Первый Балтийский Литва
1-balt-lv;PBK LV
1-balt-lv;Pirmais Baltijas Kanāls
1-balt-lv;Первый Балтийский канал
1-balt-lv;Первый Балтийский
1-balt-lv;Первый Балтийский Латвия
1-music-hu;1 Music Channel Hungary
10kanal-novokuzneck;10 канал Новокузнецк
112-ua;112 Украина
112-ua;112 Украина HD
112-ua;112 Україна
112-ua;112 Україна HDНо никак не могу сообразить как можно полученную таблицу привести к необходимому формату.
Подскажите, пожалуйста, возможно ли с помощью кода powershell привести полученную таблицу к нужному формату ?
В идеале было бы получить на выходе .csv такого формата:
Горящий камин;tvg-id="0x0-fireplace-hd",Горящий камин
Ланет HOME;tvg-id="0x0-fireplace-hd",Ланет HOME
Lanet Home;tvg-id="0x0-fireplace-hd",Lanet Home
0x0 Fireplace HD;tvg-id="0x0-fireplace-hd",0x0 Fireplace HD
PBK EE;tvg-id="1-balt-ee",PBK EE
PBK Эстония;tvg-id="1-balt-ee",PBK Эстония
Первый Балтийский канал Эстония;tvg-id="1-balt-ee",Первый Балтийский канал Эстония
Первый Балтийский Эстония;tvg-id="1-balt-ee",Первый Балтийский Эстония
PBK LT;tvg-id="1-balt-lt",PBK LT
PBK Литва;tvg-id="1-balt-lt",PBK Литва
Первый Балтийский канал Литва;tvg-id="1-balt-lt",Первый Балтийский канал Литва
Первый Балтийский Литва;tvg-id="1-balt-lt",Первый Балтийский Литва
PBK LV;tvg-id="1-balt-lv",PBK LV
Pirmais Baltijas Kanāls;tvg-id="1-balt-lv",Pirmais Baltijas Kanāls
Первый Балтийский канал;tvg-id="1-balt-lv",Первый Балтийский канал
Первый Балтийский;tvg-id="1-balt-lv",Первый Балтийский
Первый Балтийский Латвия;tvg-id="1-balt-lv",Первый Балтийский Латвия
1 Music Channel Hungary;tvg-id="1-music-hu",1 Music Channel Hungary
10 канал Новокузнецк;tvg-id="10kanal-novokuzneck",10 канал Новокузнецк
112 Украина;tvg-id="112-ua",112 Украина
112 Украина HD;tvg-id="112-ua",112 Украина HD
112 Україна;tvg-id="112-ua",112 Україна
112 Україна HD;tvg-id="112-ua",112 Україна HDНо с приведённого выше формата такой .csv уже нетрудно сделать с помощью рег. выражений.
Есть задача сформировать .csv из таблицы, полученной из исходного кода web страницы.
Таблицу получаю посредством скрипта Get-WebRequestTable.ps1 (https://www.leeholmes.com/blog/2015/01/05/extracting-tables-from-powershells-invoke-webrequest/) таким кодом:
$url = 'https://epg.iptvx.one/'
$t = Invoke-WebRequest $url
.\Get-WebRequestTable.ps1 $t -TableNumber 0 | Format-Table P2,P3 -hideTableHeaders -AutoSize -Wrap | Out-File .\epg.txtНо полученный формат не совсем устраивает. Вид такой:
ID в EPG Привязанные названия каналов
no_epg NO EPG
no_epg_cinema NO EPG Cinema
no_epg_mult NO EPG Mult
no_epg_music NO EPG Music
no_epg_news NO EPG News
no_epg_sport NO EPG Sport
0x0-fireplace-hd Горящий камин
Ланет HOME
Lanet Home
0x0 Fireplace HD
1-balt-ee PBK EE
PBK Эстония
Первый Балтийский канал Эстония
Первый Балтийский Эстония
1-balt-lt PBK LT
PBK Литва
Первый Балтийский канал Литва
Первый Балтийский Литва
1-balt-lv PBK LV
Pirmais Baltijas Kanāls
Первый Балтийский канал
Первый Балтийский
Первый Балтийский Латвия
1-music-hu 1 Music Channel Hungary
10kanal-novokuzneck 10 канал Новокузнецк
112-ua 112 Украина
112 Украина HD
112 Україна
112 Україна HD А для дальнейшей обработки необходим хотя бы такой формат:
ID в EPG Привязанные названия каналов
no_epg NO EPG
no_epg_cinema NO EPG Cinema
no_epg_mult NO EPG Mult
no_epg_music NO EPG Music
no_epg_news NO EPG News
no_epg_sport NO EPG Sport
0x0-fireplace-hd;Горящий камин
0x0-fireplace-hd;Ланет HOME
0x0-fireplace-hd;Lanet Home
0x0-fireplace-hd;0x0 Fireplace HD
1-balt-ee;PBK EE
1-balt-ee;PBK Эстония
1-balt-ee;Первый Балтийский канал Эстония
1-balt-ee;Первый Балтийский Эстония
1-balt-lt;PBK LT
1-balt-lt;PBK Литва
1-balt-lt;Первый Балтийский канал Литва
1-balt-lt;Первый Балтийский Литва
1-balt-lv;PBK LV
1-balt-lv;Pirmais Baltijas Kanāls
1-balt-lv;Первый Балтийский канал
1-balt-lv;Первый Балтийский
1-balt-lv;Первый Балтийский Латвия
1-music-hu;1 Music Channel Hungary
10kanal-novokuzneck;10 канал Новокузнецк
112-ua;112 Украина
112-ua;112 Украина HD
112-ua;112 Україна
112-ua;112 Україна HDНо никак не могу сообразить как можно полученную таблицу привести к необходимому формату.
Подскажите, пожалуйста, возможно ли с помощью кода powershell привести полученную таблицу к нужному формату ?
В идеале было бы получить на выходе .csv такого формата:
Горящий камин;tvg-id="0x0-fireplace-hd",Горящий камин
Ланет HOME;tvg-id="0x0-fireplace-hd",Ланет HOME
Lanet Home;tvg-id="0x0-fireplace-hd",Lanet Home
0x0 Fireplace HD;tvg-id="0x0-fireplace-hd",0x0 Fireplace HD
PBK EE;tvg-id="1-balt-ee",PBK EE
PBK Эстония;tvg-id="1-balt-ee",PBK Эстония
Первый Балтийский канал Эстония;tvg-id="1-balt-ee",Первый Балтийский канал Эстония
Первый Балтийский Эстония;tvg-id="1-balt-ee",Первый Балтийский Эстония
PBK LT;tvg-id="1-balt-lt",PBK LT
PBK Литва;tvg-id="1-balt-lt",PBK Литва
Первый Балтийский канал Литва;tvg-id="1-balt-lt",Первый Балтийский канал Литва
Первый Балтийский Литва;tvg-id="1-balt-lt",Первый Балтийский Литва
PBK LV;tvg-id="1-balt-lv",PBK LV
Pirmais Baltijas Kanāls;tvg-id="1-balt-lv",Pirmais Baltijas Kanāls
Первый Балтийский канал;tvg-id="1-balt-lv",Первый Балтийский канал
Первый Балтийский;tvg-id="1-balt-lv",Первый Балтийский
Первый Балтийский Латвия;tvg-id="1-balt-lv",Первый Балтийский Латвия
1 Music Channel Hungary;tvg-id="1-music-hu",1 Music Channel Hungary
10 канал Новокузнецк;tvg-id="10kanal-novokuzneck",10 канал Новокузнецк
112 Украина;tvg-id="112-ua",112 Украина
112 Украина HD;tvg-id="112-ua",112 Украина HD
112 Україна;tvg-id="112-ua",112 Україна
112 Україна HD;tvg-id="112-ua",112 Україна HDНо с приведённого выше формата такой .csv уже нетрудно сделать с помощью рег. выражений.