홈페이지 » 어떻게 » PowerShell을 사용하여 웹 페이지에서 링크를 추출하는 방법

    PowerShell을 사용하여 웹 페이지에서 링크를 추출하는 방법

    PowerShell 3에는 강력하고 새로운 웹 관련 기능을 비롯한 많은 새로운 기능이 있습니다. 웹을 자동화하는 작업을 대폭 간소화했으며, 오늘은 웹 페이지에서 모든 단일 링크를 추출 할 수있는 방법을 보여 주며 원하는 경우 리소스를 다운로드 할 수도 있습니다.

    PowerShell을 사용하여 웹 스크랩하기

    웹을보다 쉽게 ​​자동화 할 수있는 두 가지 새로운 cmdlet, 사람이 읽을 수있는 콘텐츠를 쉽게 파싱하는 Invoke-WebRequest 및 컴퓨터에서 읽을 수있는 콘텐츠를 더 쉽게 읽을 수있게 해주는 Invoke-RestMethod가 있습니다. 링크는 페이지의 HTML의 일부이므로 인간이 읽을 수있는 부분의 일부입니다. 웹 페이지를 얻으려면 Invoke-WebRequest를 사용하고 URL을 지정해야합니다..

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

    아래로 스크롤하면 응답에 링크 속성이 표시되고 PowerShell 3의 새 구성원 열거 형 기능을 사용하여 이러한 속성을 필터링 할 수 있습니다.

    (Invoke-WebRequest -Uri 'http://howtogeek.com'). 링크

    당신이 볼 수 있듯이 많은 링크를 다시 얻을 수 있습니다, 이것은 당신이 찾고있는 링크를 걸러 낼 수있는 독특한 것을 찾기 위해 당신의 상상력을 사용해야 할 곳입니다. 첫 페이지의 모든 기사 목록을 원한다고 가정 해 봅시다..

    (Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Where-Object $ _ .href -like "http *" | class -eq "title") 제목

    새 cmdlet으로 수행 할 수있는 또 다른 장점은 일상적인 다운로드를 자동화한다는 것입니다. 이를 위해 Nat Geo 웹 사이트에서 하루의 이미지를 자동으로 스크랩하여 새 웹 cmdlet을 Start-BitsTransfer와 결합합니다..

    $ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | innerHTML과 유사한 "* Wallpaper * 다운로드") .href
    시작 비트 전송 - 소스 $ IOTD - 대상 C : \ IOTD \

    그게 전부입니다. 네 자신의 트릭을 잘 알고 있니? 의견을 통해 알려주십시오..