Como extrair links de qualquer página da Web usando o PowerShell

Índice:

Como extrair links de qualquer página da Web usando o PowerShell
Como extrair links de qualquer página da Web usando o PowerShell

Vídeo: Como extrair links de qualquer página da Web usando o PowerShell

Vídeo: Como extrair links de qualquer página da Web usando o PowerShell
Vídeo: como mudar o tema do windows 7 home basic classico ou basico (não é mudar cor) - YouTube 2024, Novembro
Anonim
O PowerShell 3 tem muitos novos recursos, incluindo alguns novos recursos poderosos relacionados à web. Eles simplificam drasticamente a automação da Web e, hoje, mostraremos como você pode extrair cada link de uma página da Web e, opcionalmente, fazer o download do recurso, se desejar.
O PowerShell 3 tem muitos novos recursos, incluindo alguns novos recursos poderosos relacionados à web. Eles simplificam drasticamente a automação da Web e, hoje, mostraremos como você pode extrair cada link de uma página da Web e, opcionalmente, fazer o download do recurso, se desejar.

Raspando a Web com o PowerShell

Há dois novos cmdlets que facilitam a automação da Web, Invoke-WebRequest, que facilita a análise de conteúdo legível por humanos, e Invoke-RestMethod, que facilita a leitura do conteúdo legível por máquina. Como os links fazem parte do HTML de uma página, eles fazem parte do material legível por humanos. Tudo o que você precisa fazer para obter uma página da Web é usar Invoke-WebRequest e fornecer uma URL.

Invoke-WebRequest –Uri ‘https://howtogeek.com’

Se você rolar para baixo, verá que a resposta tem uma propriedade de links, podemos usar o novo recurso de enumeração de membros do PowerShell 3 para filtrá-los.
Se você rolar para baixo, verá que a resposta tem uma propriedade de links, podemos usar o novo recurso de enumeração de membros do PowerShell 3 para filtrá-los.

(Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links

Como você pode ver que você recebe muitos links de volta, é aqui que você precisa usar sua imaginação para encontrar algo único para filtrar os links que você está procurando. Vamos supor que queremos uma lista de todos os artigos na primeira página.
Como você pode ver que você recebe muitos links de volta, é aqui que você precisa usar sua imaginação para encontrar algo único para filtrar os links que você está procurando. Vamos supor que queremos uma lista de todos os artigos na primeira página.

((Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links | Where-Object {$_.href -like “http*”} | Where class -eq “title”).Title

Outra grande coisa que você pode fazer com os novos cmdlets é automatizar os downloads diários. Vamos examinar automaticamente a imagem do dia do site do Nat Geo, para isso vamos combinar os novos cmdlets da web com o Start-BitsTransfer.
Outra grande coisa que você pode fazer com os novos cmdlets é automatizar os downloads diários. Vamos examinar automaticamente a imagem do dia do site do Nat Geo, para isso vamos combinar os novos cmdlets da web com o Start-BitsTransfer.

$IOTD = ((Invoke-WebRequest -Uri ‘https://photography.nationalgeographic.com/photography/photo-of-the-day/’).Links | Where innerHTML -like “*Download Wallpaper*”).href Start-BitsTransfer -Source $IOTD -Destination C:IOTD

Isso é tudo que existe para isso. Tem algum truque legal? Deixe-nos saber nos comentários.

Recomendado: