PowerShell - HTML解析:从网站获取信息

LaP*_*Phi 24 powershell html-parsing

更新,脚本正在使用PowerShell V3.0,谢谢@Doug

我想使用以下PowerShell脚本从Lufthansa获取航班状态信息.我可以在浏览器中看到航班状态信息,但我没有找到任何方法来使用我的脚本访问此信息.

我想从网站上获得以下信息:

  • 航班状态
  • 时间(出发,到达)
  • 机场(出发,到达)
  • 航班号(只有汉莎航空)

脚本:

$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}
}
Run Code Online (Sandbox Code Playgroud)

Dou*_*nke 36

这是一种在PowerShell v3中查询Bing的方法

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    
}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)


Tru*_*ill 11

您可以使用Html Agility Pack.

这是一篇关于在PowerShell中使用它的文章:HTML Agility Pack撼动你的屏幕刮痧世界