quinta-feira, 7 de setembro de 2017

RSS no Out-GridView

RSS (Rich Site Summary) é um formato de distribuição de informações pela Internet. Através do recurso é possível obter notícias resumidas.

O objetivo aqui não é o de implementar um leitor completo, mas demonstrar que o Powershell tem bons recursos para a construção de leitor RSS. Com poucas linhas de código tem-se a possibilidade de acessar um feed de RSS publicado na Web, obter o XML correspondente e extrair as informações.

Extraídas as informações do XML, vamos guardá-las em um arquivo temporário. Esta etapa se faz necessária em função da codificação de caracteres. Para a correta exibição no Out-GridView faremos a codificação na hora de salvar para esse arquivo temporário, bem como ao carregarmos o conteúdo desse arquivo para o Out-GridView.

Estamos pegando como exemplo um RSS do G1, mas podia ser qualquer um. Para facilitar está sendo atribuído a uma variável $channelURI. O código está abaixo:
cls
$channelURI = "http://g1.globo.com/dynamo/tecnologia/rss2.xml"
$noticia = @()

$web = New-Object Net.WebClient
[xml]$resp = $web.DownloadString($channelURI) 
$noticia += $resp.rss.channel.title
$resp.rss.channel.item | ForEach { $noticia += $_.Title + ' - [' + $_.pubDate + ']' }

$noticia | Out-File $PSScriptRoot'\temp.txt' -Encoding default
Get-Content $PSScriptRoot'\temp.txt' -Encoding UTF8 | Out-GridView


Como resultado, temos o seguinte Out-GridView:

Out-GridView é um recurso bem interessante a ser utilizado em scripts. Por exemplo, tem um filtro integrado bem interessante. Nesse exemplo, se quisermos visualizar apenas as notícias do dia 06, basta digitarmos no filtro. O resultado é esse:

Nenhum comentário:

Postar um comentário