PowerShell 3 har många nya funktioner, inklusive några kraftfulla nya webbrelaterade funktioner. De förenklar dramatiskt automatiseringen av webben, och idag kommer vi att visa hur du kan extrahera varje enskild länk från en webbsida och eventuellt ladda ner resursen om du vill.
Det finns två nya cmdlets som gör det enklare att automatisera webben, Invoke-WebRequest som gör det enklare att analysera det mänskliga läsbara innehållet, och Invoke-RestMethod som gör maskinläsbar innehåll lättare att läsa. Eftersom länkar är en del av HTML-en på en sida är de en del av de mänskliga läsbara sakerna. Allt du behöver göra för att få en webbsida är att använda Invoke-WebRequest och ge den en webbadress.
Invoke-WebRequest -Uri '//phhsnews.com'
Om du rullar ner ser du svaret har en länkegenskap kan vi använda PowerShell 3: s nya medlemsuppräkningsfunktion för att filtrera dessa ut.
(Invoke-WebRequest -Uri '//phhsnews.com') .Links
Som du kan se får du mycket av länkar tillbaka, det är här du behöver använda din fantasi för att hitta något unikt för att filtrera bort länkarna du letar efter. Låt oss anta att vi vill ha en lista med alla artiklar på framsidan.
((Invoke-WebRequest -Uri '//phhsnews.com') .Links | Where-Object {$ _. Href -like "http * "} | Where class -eq" title "). Titel
En annan bra sak du kan göra med de nya cmdletsna är att automatisera dagliga nedladdningar. Låt oss titta på att automatiskt skrapa bilden av dagen utanför Nat Geos webbplats. För att göra detta kombinerar vi de nya webb-cmdlets med Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri ' // photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Where innerHTML -like "* Hämta bakgrundsbilder *"). href
Start-BitsTransfer -Source $ IOTD -Destination C: IOTD
Det är allt som finns där. Har du några snygga knep? Låt oss veta i kommentarerna.
Så här stoppar du din webbkamera från att frysa och krascha i Windows 10
Windows 10 års jubileumsuppdatering bröt miljontals webbkameror. Microsoft släppte en patch, men det finns ett registerhack som du kan använda om patchen inte fungerar för dig. Tack vare Rafael Rivera för att upptäcka det här registerhacket. Det är trevligt att få en lösning, men Microsoft borde verkligen dokumentera den här typen av saker på officiella supportsidor snarare än att göra Windows-användare kryptera för att fixa skadad hårdvara och programvara på egen hand.
Så här kör du Linux-kommandon från sidan Bash Shell på Windows 10
Windows 10 innehåller ett underliggande "Windows-delsystem för Linux" för att köra Linux-applikationer, men det är endast tillgängligt via Bash-skalet. Det finns dock ett sätt att köra Linux-program utan att först starta ett Bash-fönster. Detta är möjligt tack vare kommandot bash-c . Använd den för att köra Linux-kommandon via Command Prompt och PowerShell, eller ens skapa en skrivbordsgenväg som kör ett Linux-kommando eller program när det startas.