Домашняя » как » Как извлечь ссылки с любой веб-страницы с помощью PowerShell

    Как извлечь ссылки с любой веб-страницы с помощью PowerShell

    PowerShell 3 имеет много новых функций, в том числе некоторые мощные новые функции, связанные с Интернетом. Они значительно упрощают автоматизацию Интернета, и сегодня мы собираемся показать вам, как вы можете извлечь каждую ссылку с веб-страницы и, при желании, загрузить ресурс..

    Очистка сети с помощью PowerShell

    Существуют два новых командлета, которые упрощают автоматизацию Интернета: Invoke-WebRequest, облегчающий анализ читабельного контента, и Invoke-RestMethod, упрощающий чтение машиночитаемого контента. Поскольку ссылки являются частью HTML-страницы, они являются частью удобочитаемого материала. Все, что вам нужно сделать, чтобы получить веб-страницу, это использовать Invoke-WebRequest и дать ему URL.

    Invoke-WebRequest -Uri 'http://howtogeek.com'

    Если вы прокрутите вниз, то увидите, что ответ имеет свойство links, мы можем использовать новую функцию перечисления членов PowerShell 3, чтобы отфильтровать их..

    (Invoke-WebRequest -Uri 'http://howtogeek.com'). Ссылки

    Как вы видите, вы получаете множество ссылок назад, и здесь вам нужно использовать свое воображение, чтобы найти что-то уникальное для фильтрации ссылок, которые вы ищете. Предположим, мы хотим получить список всех статей на первой странице.

    ((Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Where-Object $ _. Href-like «http *» | Где class -eq «title»). Заголовок

    Еще одна замечательная вещь, которую вы можете сделать с помощью новых командлетов - автоматизировать ежедневные загрузки. Давайте посмотрим на автоматическую очистку изображения выходного дня на веб-сайте Nat Geo, для этого мы объединим новые веб-командлеты с Start-BitsTransfer..

    $ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Где innerHTML -подобно «* Скачать обои *»). Href
    Start-BitsTransfer -Source $ IOTD -Предназначение C: \ IOTD \

    Это все, что нужно сделать. Есть какие-нибудь изящные трюки? Дайте нам знать об этом в комментариях.