Ako extrahovať odkazy z akejkoľvek webovej stránky pomocou PowerShell

Obsah:

Ako extrahovať odkazy z akejkoľvek webovej stránky pomocou PowerShell
Ako extrahovať odkazy z akejkoľvek webovej stránky pomocou PowerShell
Anonim
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 extrahovať každý odkaz z webovej stránky a voliteľne si stiahnete zdroj, ak si to prajete.
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 extrahovať každý odkaz z webovej stránky a voliteľne si stiahnete zdroj, ak si to prajete.

Škrábanie webu pomocou programu PowerShell

Existujú dve nové rutiny, ktoré zjednodušujú automatizáciu webu, Invoke-WebRequest, ktorý uľahčuje analýzu obsahu čitateľného človeka a Invoke-RestMethod, ktorý 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 ‘https://howtogeek.com’

Ak posuniete nadol, uvidíte, že odpoveď má vlastnosť odkazov, môžeme použiť funkciu výčtu nových členov PowerShell 3, ktorá ich vyfiltruje.
Ak posuniete nadol, uvidíte, že odpoveď má vlastnosť odkazov, môžeme použiť funkciu výčtu nových členov PowerShell 3, ktorá ich vyfiltruje.

(Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links

Ako môžete vidieť, že získate veľa prepojení späť, toto je miesto, kde musíte použiť svoju predstavivosť, 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 titulnej stránke.
Ako môžete vidieť, že získate veľa prepojení späť, toto je miesto, kde musíte použiť svoju predstavivosť, 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 titulnej stránke.

((Invoke-WebRequest –Uri ‘https://howtogeek.com’).Links | Where-Object {$_.href -like “http*”} | Where class -eq “title”).Title

Ďalšia skvelá vec, ktorú môžete robiť s novými cmdletmi, je automatizovať každodenné sťahovanie. Umožňuje sa pozrieť na automaticky škrabanie obrazu dňa z webovej stránky Nat Geo, aby sme to mohli kombinovať s novými webovými skrinkami pomocou programu Start-BitsTransfer.
Ďalšia skvelá vec, ktorú môžete robiť s novými cmdletmi, je automatizovať každodenné sťahovanie. Umožňuje sa pozrieť na automaticky škrabanie obrazu dňa z webovej stránky Nat Geo, aby sme to mohli kombinovať s novými webovými skrinkami pomocou programu Start-BitsTransfer.

$IOTD = ((Invoke-WebRequest -Uri ‘https://photography.nationalgeographic.com/photography/photo-of-the-day/’).Links | Where innerHTML -like “*Download Wallpaper*”).href Start-BitsTransfer -Source $IOTD -Destination C:IOTD

To je všetko, čo je k tomu. Máte nejaké čisté triky vlastné? Dajte nám vedieť v komentároch.

Odporúča: