Update, Script is working with PowerShell V3.0, Thanks @ Doug
I want to use the following PowerShell script to get flight status information from Lufthansa. I can see flight status information in the browser, but I haven't found any way to access this information with my script.
I want to get the following information from the website:
Script:
$flight = " LH3396" $url = "http://bing.com?q=flight status for $flight" $result = Invoke-WebRequest $url $elements = $result.AllElements | Where Class -eq "ans" | Select -First 1 -ExpandProperty innerText #[string[]]$resultArray $resultArray = @() foreach($element in $elements.Split("`n")){ if($element.Length -gt "2") {$resultArray += $element} }
But, using a scripting language like PowerShell, a little ingenuity and some trial and error, it is possible to build a reliable web-scraping tool in PowerShell to pull down information from a lot of different web pages.
PowerShell includes some great capabilities for working with two common forms of structured data: HTML and XML.
There is no way of 'browsing' websites through Powershell, not in the traditional sense of the word anyway. However, you can download and upload content, create web service requests, login to websites, etc. through the web-client class and invoke-webrequest cmdlet.
PowerShell provides a built-in cmdlet called ConvertTo-Html. This takes objects as input and converts each of them to an HTML web page. To use this, just take the output and pipe it directly to ConvertTo-Html. The cmdlet will then return a big string of HTML.
Here is a way to query Bing in PowerShell v3
function Get-FlightStatus { param($query) $url = "http://bing.com?q=flight status for $query" $result = Invoke-WebRequest $url $result.AllElements | Where Class -eq "ans" | Select -First 1 -ExpandProperty innerText }
Get-FlightStatus LH3102 Flight status for Lufthansa 3102 To depart · Jan 30, 2012 From: Hamburg (HAM) 05:35 PM terminal 2 To: Vienna (VIE) 07:05 PM Bing Travel Source: www.flightstats.com, 1 minute ago
You could use the Html Agility Pack.
Here's an article on using it with PowerShell: HTML Agility Pack Rocks Your Screen Scraping World
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With