Kuidas välja lülitada lingid mis tahes veebilehel, kasutades PowerShelli
PowerShell 3-l on palju uusi funktsioone, sealhulgas mõned võimsad uued veebipõhised funktsioonid. Nad lihtsustavad märkimisväärselt veebi automatiseerimist ja täna näitame teile, kuidas saate iga veebilehe lingi välja tõmmata ja soovi korral alla laadida ressursse..
Veebi lõikamine PowerShelli abil
On kaks uut cmdleti, mis muudavad veebi automatiseerimise lihtsamaks, Invoke-WebRequest, mis muudab inimese loetava sisu parsimise lihtsamaks, ja Invoke-RestMethod, mis muudab masinloetava sisu kergemini loetavaks. Kuna lingid on osa lehekülje HTML-i osast, on nad osa inimloetavatest asjadest. Kõik, mida pead tegema, et saada veebileht, on Invoke-WebRequest ja anna sellele URL.
Invoke-WebRequest -Uri 'http://howtogeek.com'
Kui liigute allapoole, näete vastuse linkide omadust, saame PowerShelli 3 uue liikmete loenduse funktsiooni nende välja filtreerimiseks kasutada.
(Invoke-WebRequest -Uri 'http://howtogeek.com') .Lingid
Nagu näete, saad palju linke tagasi, see on koht, kus pead kasutama oma kujutlusvõimet, et leida midagi unikaalset, et filtreerida otsitavad lingid. Oletame, et tahame kõigi esilehel olevate artiklite nimekirja.
((Invoke-WebRequest -Uri 'http://howtogeek.com') .Lingid | Kus-objekt $ _. Href-like “http *” |
Teine suur asi, mida saate uute cmdlet'idega teha, on igapäevaste allalaadimiste automatiseerimine. Vaatame Nat Geo veebisaidilt automaatselt päeva pildi kraapimist, et kombineerida uued veebi cmdletid Start-BitsTransferiga.
$ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Kus internalHTML-like “* Download Wallpaper *”). Href
Start-BitsTransfer-Allikas $ IOTD -Destination C: IOTD
See on kõik selleks. Kas teil on oma puhas trikke? Anna meile teada oma kommentaarides.