Ako extrahovať odkazy z akejkoľvek webovej stránky pomocou PowerShell
PowerShell 3 má veľa nových funkcií vrátane niektorých výkonných nových funkcií súvisiacich s webom. Dramaticky zjednodušujú automatizáciu webu a dnes vám ukážeme, ako môžete získať každý odkaz z webovej stránky a prípadne si ho môžete stiahnuť, ak si to prajete.
Škrábanie webu pomocou programu PowerShell
Existujú dve nové rutiny, ktoré uľahčujú automatizáciu webu, Invoke-WebRequest, ktorý uľahčuje analýzu obsahu čitateľného človeka a Invoke-RestMethod, čo uľahčuje čitateľný obsah. Keďže odkazy sú súčasťou HTML stránky, sú súčasťou ľudskej čitateľnosti. Jediné, čo musíte urobiť, aby ste dostali webovú stránku, je použitie Invoke-WebRequest a zadajte URL.
Invoke-WebRequest -Uri 'http://howtogeek.com'
Ak posuniete nadol, uvidíte, že odpoveď má vlastnosť odkazov, môžeme použiť funkciu výčtu nových členov PowerShell 3 na filtrovanie týchto.
(Invoke-WebRequest -Uri 'http://howtogeek.com')
Ako môžete vidieť, že získate veľa prepojení, je to miesto, kde musíte použiť svoju fantáziu, aby ste našli niečo jedinečné na odfiltrovanie odkazov, ktoré hľadáte. Povedzme, že chceme mať zoznam všetkých článkov na úvodnej stránke.
((Invoke-WebRequest -Uri 'http://howtogeek.com'). Spojuje | Kde-objekt $ _. Href -like "http *" |
Ďalšia skvelá vec, ktorú môžete robiť s novými cmdletmi, je automatizovať každodenné sťahovanie. Umožňuje pozrieť sa na automatické škrabanie obrazu dňa z webovej stránky Nat Geo. Na tento účel budeme skombinovať nové webové rutiny s programom Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-theday/').Links | Kde vnútorný HTML-ako "* Stiahnite si tapetu *").
Start-BitsTransfer -Source $ IOTD -Vymiestnenie C: \ IOTD \
To je všetko pre to. Máte nejaké čisté triky vlastné? Dajte nám vedieť v komentároch.