/ / 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과 같은 "* Download Wallpaper *"). href
시작 비트 전송-소스 $ IOTD-대상 C : IOTD

그게 전부입니다. 당신 만의 깔끔한 트릭이 있습니까? 의견에 알려주십시오.