Enjoy!
Function Download-EarthPorn {
<#
.Synopsis
Downloads EarthPorn images from Reddit
.DESCRIPTION
Goes out to reddit's EarthPorn subreddit and downloads all jpg images, `
then it removes any smaller images that might not look so well as a wallpaper.
.EXAMPLE
PS:\> Download-EarthPorn
#>
[CmdletBinding()]
Param(
# URL to download images from.
[Parameter(Mandatory=$False, ValueFromPipelineByPropertyName=$true, Position=0)]
[string]$URL = "www.reddit.com/r/earthporn",
# File location that you would like to save the downloaded images to.
[Parameter(Mandatory=$False, ValueFromPipelineByPropertyName=$true, Position=)]
[String]$Destination = "C:\Users\$env:USERNAME\Desktop\Earthporn_Wallpapers"
)
Begin {
# Imports bittransfer cmdlets
Import-Module BitsTransfer -verbose
}
Process{
# checks if the file exists, else creates it.
IF (!(Test-Path $Destination)) {New-Item -Path $Destination -ItemType Directory -Force | Out-Null}
Do {
$Links = (Invoke-WebRequest -Uri $URL).links
($links | Where { $_.href -match ".jpg" } | Where { $_.class -match "title" }).href | Foreach {Start-BitsTransfer -Source $_ -Destination $Destination }
$URL = ($Links | Where { $_.innerHTML -eq "next ›" }).href
$URL
} While (1 -eq 1)
}
End {
# Removes smaller images.
(Get-ChildItem -Filter *.jpg).FullName | % { $img = [Drawing.Image]::FromFile($_); if ($img.Width -lt 1680 -OR $img.Height -lt 1050) { Remove-Item $_ }}
}
} # End of Download-EarthPorn function
Download-EarthPorn
No comments:
Post a Comment