Slik trekker du ut koblinger fra hvilken som helst nettside ved hjelp av PowerShell

Innholdsfortegnelse:

Slik trekker du ut koblinger fra hvilken som helst nettside ved hjelp av PowerShell
Slik trekker du ut koblinger fra hvilken som helst nettside ved hjelp av PowerShell
Anonim
PowerShell 3 har mange nye funksjoner, inkludert noen kraftige nye webrelaterte funksjoner. De forenkler dramatisk automatisering av nettet, og i dag skal vi vise deg hvordan du kan trekke ut hver enkelt kobling fra en nettside, og eventuelt laste ned ressursen hvis du ønsker det.
PowerShell 3 har mange nye funksjoner, inkludert noen kraftige nye webrelaterte funksjoner. De forenkler dramatisk automatisering av nettet, og i dag skal vi vise deg hvordan du kan trekke ut hver enkelt kobling fra en nettside, og eventuelt laste ned ressursen hvis du ønsker det.

Skraping på nettet med PowerShell

Det er to nye cmdlets som gjør det enklere å automatisere nettet, Invoke-WebRequest som gjør det enklere å tolke menneskelig lesbart innhold, og Invoke-RestMethod som gjør maskinlesbart innhold lettere å lese. Siden koblinger er en del av HTML-en til en side, er de en del av det menneskelige lesbare materialet. Alt du trenger å gjøre for å få en nettside, er å bruke Invoke-WebRequest og gi den en nettadresse.

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

Hvis du ruller ned, ser du svaret har en koblingsegenskap, vi kan bruke PowerShell 3s nye medlemsregistreringsfunksjon for å filtrere disse ut.
Hvis du ruller ned, ser du svaret har en koblingsegenskap, vi kan bruke PowerShell 3s nye medlemsregistreringsfunksjon for å filtrere disse ut.

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

Som du kan se, får du mange lenker tilbake, dette er hvor du må bruke fantasien din til å finne noe unikt å filtrere ut koblingene du leter etter. La oss anta at vi vil ha en liste over alle artikler på forsiden.
Som du kan se, får du mange lenker tilbake, dette er hvor du må bruke fantasien din til å finne noe unikt å filtrere ut koblingene du leter etter. La oss anta at vi vil ha en liste over alle artikler på forsiden.

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

En annen flott ting du kan gjøre med de nye cmdlets er å automatisere hverdagsnedlastinger. Vi ser på å automatisk skrape bildet på dagen utenfor Nat Geo-nettstedet. For å gjøre dette kombinerer vi de nye web-cmdletene med Start-BitsTransfer.
En annen flott ting du kan gjøre med de nye cmdlets er å automatisere hverdagsnedlastinger. Vi ser på å automatisk skrape bildet på dagen utenfor Nat Geo-nettstedet. For å gjøre dette kombinerer vi de nye web-cmdletene med 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

Det er alt der er til det. Har du noen fine triks? Gi oss beskjed i kommentarene.

Anbefalt: