Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Форматирование таблицы, полученной с web страницы

Ответить
Настройки темы
PowerShell - [решено] Форматирование таблицы, полученной с web страницы

Старожил


Сообщения: 232
Благодарности: 21

Профиль | Отправить PM | Цитировать


Изменения
Автор: Uragan66
Дата: 29-02-2020
Описание: опечатка
Добрый день всем!
Есть задача сформировать .csv из таблицы, полученной из исходного кода web страницы.
Таблицу получаю посредством скрипта Get-WebRequestTable.ps1 таким кодом:
Код: Выделить весь код
$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 уже нетрудно сделать с помощью рег. выражений.

Отправлено: 12:29, 29-02-2020

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


примерно так
Код: Выделить весь код
.\Get-WebRequestTable.ps1 $t -TableNumber 0 | Select-Object P2,P3 -PipelineVariable savedP2 | % { $_.P3 -split "`r`n"  } | Select-Object @{n='epgId';e={$savedP2.P2}}, @{n='channel';e={$_}} | Export-Csv .\epg.txt -NoTypeInformation
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:55, 29-02-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 232
Благодарности: 21

Профиль | Отправить PM | Цитировать


Busla, спасибо большое!
то, что нужно... дальше, думаю, с рег. выражениями сформирую нужный .csv

Отправлено: 13:30, 29-02-2020 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Форматирование таблицы, полученной с web страницы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Сохранение отдельных элементов web страницы Horses Хочу все знать 0 26-04-2015 17:57
Интернет - Все Web-страницы недоступны Sergey Po Программное обеспечение Windows 0 02-10-2009 17:15
Прочее - Не все web-страницы открываются. paravozzz Сетевые технологии 11 09-04-2008 13:15
Интернет - Не сохраняются переведенные web-страницы priboy Программное обеспечение Windows 0 15-03-2008 14:42
Быстро Save'ать Web страницы .... FIXXX Хочу все знать 2 16-03-2006 21:46




 
Переход