leia HTML via Powershell. Powershell | Sam Canto

a Obtenção de informações a partir de páginas da web via Powershell

PS1Em muitos casos, as informações de que precisamos está disponível em uma ou várias páginas da web, mas precisamos processo as mesmas informações repetidamente. Para automatizar uma tarefa tão repetida via Powershell, precisamos ler e analisar dados HTML. Por exemplo, uma pergunta foi postada recentemente no fórum Microsoft 2010 Sharepoint:

adoro como o SharePoint 2010 tem a página: http://Server:880/_admin/PatchStatus.aspx. No entanto, olhando para esta página, cada servidor tem cerca de 100 patches. Percorrer esta lista é difícil ver se um dos servidores está faltando um patch ou tem patches que outros servidores não. Existe uma maneira de exportar as informações no PatchStatus.página aspx no administrador Central para uma planilha do excel?

Para o propósito deste exercício, vamos dizer que queremos obter os títulos das postagens nesse URL https://superwidgets.wordpress.com/category/sql

Primeiro, vamos ler no código HTML da página:

HTML2

Agora, vamos tubulação de que, para Obter-Membro para ver que tipo de objeto que temos e os seus métodos e propriedades disponíveis:

 HTML3

depois de explorar diferentes propriedades do objeto $HTML que temos, e com algum conhecimento HTML em segundo plano, você pode dizer que as informações que estamos procurando estão no corpo HTML.

usando a mesma técnica acima, podemos explorar outras propriedades do objeto HTML como “ParsedHTML”

$HTML.ParsedHtml / Get-Member

isso mostra que é um objeto HTMLDocumentClass com toneladas de eventos, métodos e propriedades:

HTML7

lista Parcial de HTMLDocumentClass objeto de eventos, métodos e propriedades de

o Que é útil para nós, aqui, é o seguinte 3 métodos:

getElementById
getElementsByName
getElementsByTagName

Agora que sabemos como extrair as informações de que precisamos a partir de uma página da web, vamos olhar para as especificidades da página web na mão https://superwidgets.wordpress.com/category/sql. Abra-o no IE, por exemplo, pressione F12 para abrir o dom explorer na parte inferior, expanda as tags HTML e mova o mouse sobre as tags uma a uma. Observe que o painel superior do IE altera a cor de fundo do elemento no qual você está movendo o mouse. Isso nos dá uma indicação visual de qual elemento no código HTML representa qual texto ou área de uma página HTML.

HTML6

Você pode ver os títulos de artigo que estamos interessados são aqueles que começam com

<h2 class =”entry-title”>

agora podemos escrever a seguinte algumas linhas de script do Powershell código para concluir a tarefa:

HTML8

# Script para exibir os títulos pós no SQL Categroy de Superwidgets blog
# Sam Boutros – 08/10/2014
$URI = “https://superwidgets.wordpress.com/category/sql/ “
$HTML = Invoke-WebRequest -Uri $URI
($HTML.ParsedHtml.como baixar e instalar Minecraft.className – EQ ‘entrada-título’}).innerText

na linha 5, selecionamos elementos HTML pela tag “H2”, filtramos em ClassName = “entry-title” e selecionamos a propriedade innertext.

a saída é assim:

HTML9

que é exatamente os títulos do artigo que nos propusemos a obter.

essas informações podem ser processadas, registradas, armazenadas ou reembaladas em outros relatórios HTML, CSV ou outros..

Deixe uma resposta

O seu endereço de email não será publicado.