PowerShell - разбор HTML: получение информации с веб-сайта
Обновление, Script работает с PowerShell V3.0, Спасибо @Doug
Я хочу использовать следующий PowerShell Script, чтобы получить информацию о статусе рейса от Lufthansa.
Я могу видеть информацию о статусе рейса в браузере, но я не нашел доступа к этой информации с помощью script.
Я хочу получить следующую информацию с веб-сайта:
- статус полета
- время (выезд, прибытие)
- аэропорт (вылет, прибытие)
- Номер рейса (только Lufthansa)
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}
}
Ответы
Ответ 1
Вот способ запроса Bing в 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
Ответ 2
Вы можете использовать Html Agility Pack.
Здесь статья об использовании ее с PowerShell: HTML Agility Pack Скалывает ваш экран, очищающий мир