PowerShell 3 are o mulțime de caracteristici noi, inclusiv unele noi caracteristici puternice legate de web. Ele simplifică în mod dramatic automatizarea web-ului și astăzi vă vom arăta cum puteți extrage fiecare legătură dintr-o pagină Web și descărcați opțional această resursă dacă doriți.
Există două cmdlet-uri noi care facilitează automatizarea web-ului, Invoke-WebRequest, care facilitează parsarea conținutului lizibil pentru oameni și Invoke-RestMethod, care facilitează citirea conținutului lizibil de la mașină. Deoarece legăturile fac parte din codul HTML al unei pagini, ele fac parte din chestiile care pot fi citite de om. Tot ce trebuie să faceți pentru a obține o pagină Web este să utilizați Invoke-WebRequest și să-i dați un URL.
Invoke-WebRequest -Uri "http://howtogeek.com"
Dacă parcurgeți în jos veți vedea că răspunsul are o proprietate de link-uri, putem folosi funcția de enumerare a membrilor noului PowerShell 3 pentru a le elimina.
(Invoke-WebRequest -Uri "http://howtogeek.com"). Legătura
După cum puteți vedea că veți obține o mulțime de link-uri înapoi, acesta este locul unde trebuie să vă folosiți imaginația pentru a găsi ceva unic pentru a filtra legăturile pe care le căutați. Să presupunem că dorim o listă cu toate articolele de pe prima pagină.
(Invoke-WebRequest -Uri 'http://howtogeek.com'). Legături | unde-obiect $ _. Href -like "http *" |
Un alt lucru grozav pe care îl puteți face cu noile cmdlet-uri este automatizarea descărcărilor de zi cu zi. Să ne uităm la decopertarea automată a imaginii zilei de pe site-ul web Nat Geo, pentru a face asta vom combina noile cmdlet-uri web cu Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | unde innerHTML -like "* Descarcă Wallpaper *").
Start-BitsTransfer -Source $ IOTD-Destinație C: \ IOTD \
Cam despre asta e. Aveți niște trucuri curate? Spuneți-ne în comentariile.