Pagina inicial » como » Como extrair links de qualquer página da Web usando o PowerShell

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

    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 o Invoke-WebRequest e fornecer um URL.

    Invoke-WebRequest -Uri 'http://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 membro do PowerShell 3 para filtrá-los.

    (Invoke-WebRequest -Uri 'http://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.

    ((Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Where-Object $ _. Href -like “http *” | Onde class-eq “título”).

    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 Nat Geo, para isso vamos combinar os novos cmdlets da web com o Start-BitsTransfer.

    $ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Onde innerHTML -like “* Download Wallpaper *”). Href
    Start-BitsTransfer -Source $ IOTD -Destino C: \ IOTD \

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