Homepage » hogyan kell » Hogyan lehet kivonni a linkeket?

    Hogyan lehet kivonni a linkeket?

    A PowerShell 3 számos új funkcióval rendelkezik, köztük néhány új, új webes funkcióval. Jelentősen leegyszerűsítik a web automatizálását, és ma megmutatjuk, hogyan lehet kivonni minden egyes linket egy weboldalról, és tetszés szerint tetszés szerint letöltheti az erőforrást.

    A webes adatgyűjtés a PowerShell segítségével

    Két új cmdlet teszi lehetővé a webes automatizálást, az Invoke-WebRequest, amely megkönnyíti az emberi olvasható tartalom elemzését, és az Invoke-RestMethod, amely megkönnyíti a gépolvasható tartalom olvasását. Mivel a linkek az oldal HTML-jének részét képezik, az emberi olvasható dolgok részét képezik. Mindössze annyit kell tennie, hogy egy weboldalat használjon az Invoke-WebRequest használatával, és adjon meg egy URL-t.

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

    Ha lefelé görgetve látni fogja, hogy a válasz egy hivatkozási tulajdonsággal rendelkezik, akkor a PowerShell 3 új tagszámláló funkciója segítségével kiszűrheti ezeket.

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

    Amint látod, hogy sok linket kapsz vissza, akkor ott kell használnod a képzeletedet, hogy valami egyediet találj, hogy kiszűrje a keresett linkeket. Tegyük fel, hogy szeretnénk egy listát az összes cikkről az első oldalon.

    ((Invoke-WebRequest -Uri 'http://howtogeek.com') .Linkek | Hol-Objektum $ _. Href-like “http *” |

    Egy másik nagyszerű dolog, amit az új cmdlet-ekkel tehetünk, a mindennapi letöltések automatizálása. Nézzük meg, hogy automatikusan lekaparjuk a nap képét a Nat Geo webhelyről, hogy ezt kombináljuk az új web cmdleteket a Start-BitsTransfer segítségével.

    $ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-t-day/').Links | Hol InternalHTML-szerű „* Háttérkép letöltése *”). Href
    Start-BitsTransfer -Source $ IOTD -Desztináció C: IOTD \ t

    Ez az egész. Van valami tiszta trükk? Tájékoztassa velünk a megjegyzéseket.