PowerShell comes with a built-in web client which can retrieve HTML content for you. For a simple web page analysis, use the -UseBasicParsing parameter. This gets you the raw HTML content as well as, for example, a list of all embedded links and images:
$url = "http://powershellmagazine.com" $page = Invoke-WebRequest -URI $url -UseBasicParsing $page.Content | Out-GridView -Title Content $page.Links | Select-Object href, OuterHTML | Out-GridView -Title Links $page.Images | Select-Object src, outerHTML | Out-GridView -Title Images
If you omit the -UseBasicParsing parameter, the cmdlet internally uses the Internet Explorer document object model and can return more detailed information:
$url = "http://powershellmagazine.com" $page = Invoke-WebRequest -URI $url $page.Links | Select-Object InnerText, href | Out-GridView -Title Links
Note that Invoke-WebRequest requires that you have set up and at least opened once the Internet Explorer unless you specify -UseBasicParsing.