PowerShell 3 má spoustu nových funkcí, včetně některých nových výkonných funkcí souvisejících s webem. Dramaticky zjednodušují automatizaci webu a dnes vám ukážeme, jak můžete extrahovat každý jednotlivý odkaz z webové stránky a případně stáhnout zdroj, pokud si přejete.
Škrábání webu pomocí prostředí PowerShell
Existují dvě nové rutiny, které usnadňují automatizaci webu, Invoke-WebRequest, která usnadňuje analýzu lidského čitelného obsahu, a Invoke-RestMethod, která usnadňuje čtení strojově čitelného obsahu. Vzhledem k tomu, že odkazy jsou součástí HTML stránky, jsou součástí obsahu čitelného pro člověka. Chcete-li získat webovou stránku, stačí použít Invoke-WebRequest a dát mu URL.
Invoke-WebRequest –Uri „http://howtogeek.com“
Pokud přejdete dolů, uvidíte, že odpověď má vlastnost links, můžeme k jejich filtrování použít novou funkci výčtu členů PowerShell 3.
(Invoke-WebRequest –Uri „http://howtogeek.com“). Odkazy
Jak vidíte, získáte spoustu odkazů zpět, a právě zde musíte pomocí své fantazie najít něco jedinečného k odfiltrování odkazů, které hledáte. Předpokládejme, že chceme seznam všech článků na titulní stránce.
(((Vyvolat-WebRequest –Uri ' http://howtogeek.com “). Odkazy | Where-Object {$_.href -like “http*”} | Kde třída -eq „název“). Název
Další skvělou věcí, kterou můžete s novými rutinami udělat, je automatizovat každodenní stahování. Podívejme se na automatické škrábání obrazu dne mimo web Nat Geo, abychom to provedli, zkombinujeme nové webové rutiny se Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri ' http://photography.nationalgeographic.com/photography/photo-of-the-day/’).Links | Kde je podobný „HTML“ „* Stáhnout tapetu *“). Href
Start-BitsTransfer - Zdroj $ IOTD - Cíl C: \ IOTD \
To je vše. Máte nějaké vlastní pěkné triky? Dejte nám vědět v komentářích.