Kaip išskleisti nuorodas išjungti bet kuriame tinklalapyje naudojant „PowerShell“
„PowerShell 3“ turi daug naujų funkcijų, įskaitant galingas naujas su internetu susijusias funkcijas. Jie smarkiai supaprastina interneto automatizavimą, o šiandien mes parodysime, kaip galite ištraukti kiekvieną nuorodą iš tinklalapio ir pasirinktinai parsisiųsti išteklių, jei norite.
Tinklo iškarpymas naudojant „PowerShell“
Yra du nauji „cmdlet“ failai, kurie palengvina žiniatinklio automatizavimą, „Invoke-WebRequest“, kuris padeda lengviau suprasti žmogaus suprantamą turinį, ir „Invoke-RestMethod“, kuris leidžia lengviau nuskaityti kompiuterio turinį. Kadangi nuorodos yra puslapio HTML dalis, jos yra žmogaus skaitomos medžiagos dalis. Viskas, ką jums reikia padaryti norint gauti tinklalapį, yra „Invoke-WebRequest“ ir suteikti jai URL.
Invoke-WebRequest -Uri „http://howtogeek.com“
Jei slinksite žemyn, pamatysite, kad atsakymas turi nuorodų savybę, galime naudoti naują „PowerShell 3“ narių priskyrimo funkciją, kad būtų galima juos filtruoti.
(Invoke-WebRequest -Uri 'http://howtogeek.com') .Links
Kaip matote, jūs gausite daug nuorodų atgal, tai yra, kur jums reikia naudoti savo vaizduotę, kad rastumėte kažką unikalaus, kad išsiaiškintumėte norimas nuorodas. Tarkime, mes norime, kad visų pirmame puslapyje esančių straipsnių sąrašas.
((Invoke-WebRequest -Uri 'http://howtogeek.com') .Links | Kur-Objektas $ _. Href-like "http *" | Kur klasė -qq „title“).
Kitas puikus dalykas, kurį galite padaryti su naujais cmdlets, yra automatizuoti kasdienius atsisiuntimus. Pažvelkime į „Google Geo“ tinklalapio automatiškai nuvilkdami dienos vaizdą, kad galėtume sujungti naujus žiniatinklio cmdlet su „Start-BitsTransfer“.
$ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Kur internalHTML-like “* Download Wallpaper *”). Href
Start-BitsTransfer -Source $ IOTD -Destination C: IOTD
Tai viskas, ką ji turi. Ar turite kokių nors tvarkingų gudrybių? Praneškite mums apie komentarus.