Acessando feed de noticias via Powershell

Olá a todos,

Hoje vamos ver como ler um feed de noticias através do powershell. O feed de noticias nada mais é que um arquivo XML que é atualizado de tempos em tempos e que contém um resumo dos itens mais recentes publicados, no nosso exemplo vamos utilizar o XML de feed deste blog.

A url do feed é esta: Feed. Para obter o conteudo deste XML vamos utilizar a classe System.Web.Webclient, que com seu método DownloadString(), podemos visualizar diretamente o conteúdo do arquivo. O conteúdo é obtido em formato plaintext porém queremos ele em formato XML, para isso iremos utilizar o “acelerador” [XML], que vem pacote Core do Powershell, por fim, isto será armazenado em uma variável como um objeto, para isso vamos utilizar o seguinte comando:

$feed= [xml](New-Object System.Net.WebClient).DownloadString(http://guidooliveira.com/feed”)

image

Agora que temos o Feed dentro em um objeto XML podemos navegá-lo e acessar as informações:

image

Utilizando o cmdlet Get-Member podemos filtrar os itens acessiveis:

image

Após acessar todas as propriedades somente a propriedade Item, apresenta o conteúdo esperado, conforme podemos ver no XML:

image

Agora apenas formatando a exibição em modo de tabela com o cmdlet Format-Table, podemos visualizar claramente os posts com suas respectivas URLs:

image

Da mesma forma podemos exibir em uma janela separada com o cmdlet Out-GridView selecionando as propriedades desejadas:

$feed.rss.channel.item Select-Object-Property title,link Out-GridViewTitle RSSFeed_GuidoOliveira.com’

image

Outra forma mais simples, que esta disponível a partir da versão 3 do Powershell é  utilizando o cmdlet Invoke-RestMethod, que ja faz toda a tratativa do feed:

Invoke-RestMethod http://guidooliveira.com/feed  select Title,Link

image

 

Hoje vimos como acessar arquivos XML que estao na Web e como navegar e exibir suas respectivas informações.

 

Dúvidas? Sugestões? Comente!

Até a próxima!

Anúncios
Esse post foi publicado em Uncategorized e marcado , , , , , , , , , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s