반응형
PowerShell - HTML 구문 분석: 웹 사이트에서 정보 가져오기
업데이트: Script가 PowerShell V3.0에서 작동 중입니다. Thanks @ Doug
나는 루프트한자로부터 항공편 상태 정보를 얻기 위해 아래의 PowerShell 스크립트를 사용하고 싶습니다.브라우저에서 항공편 상태 정보를 볼 수 있지만 스크립트로 이 정보에 접근할 수 있는 방법을 찾지 못했습니다.
웹사이트에서 다음 정보를 얻고 싶습니다.
- 비행상태
- 시간 (departure, 도착)
- 공항(departure, 도착)
- 항공편 번호(루프트한자만 해당)
스크립트:
$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}
}
다음은 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
}
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
HTML 어질리티 팩을 사용할 수 있습니다.
PowerShell과 함께 사용하는 방법에 대한 기사입니다. HTML Agility Pack Rocks Your Scraping
언급URL : https://stackoverflow.com/questions/9053573/powershell-html-parsing-get-information-from-a-website
반응형
'programing' 카테고리의 다른 글
| 런타임에 프로그래밍 방식으로 "android:layout_below"를 설정할 수 있습니까? (0) | 2023.10.04 |
|---|---|
| 시퀀스에 대한 Python 'enumerate'와 동일한 ES6은 무엇입니까? (0) | 2023.10.04 |
| 선언문에서 조합을 초기화할 수 있습니까? (0) | 2023.10.04 |
| Angular(최신까지 2개 이상)를 사용하여 URL에서 ID 추출 (0) | 2023.09.24 |
| 레이아웃의 레이아웃이 기본 레이아웃 폴더에 선언이 없습니다 [오류] (0) | 2023.09.24 |