【PowerShell】Webスクレイピング【情報取得と操作】

CODE,PowerShell

PowerShellのWebスクレイピングで情報を取得するための方法です。

処理対象ページには練習用に作った https://d4c-lt.com を使用しています。

記載内容 ①共通の開始処理
②ログイン処理
③値の取得処理
④値の設定処理

①対象ページの情報取得開始処理

Web情報を取得するための初期処理です。
IEを起動して対象URLに移動します。

$url = "https://d4c-lt.com"
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate($url)
while($ie.Busy) { Start-Sleep -milliseconds 100 }
$doc = $ie.document

②ログイン処理

getElementsByName を使用して要素の id で入力項目を特定します。
特定した入力項目の value にログイン情報を設定します。

# 対象URL
$url = "https://d4c-lt.com/contents/samplepage/login1.html"

# IDの設定
$doc.getElementById("user_name").value = "ID12345"

# パスワードの設定
$doc.getElementById("password").value = "PW12345"

# ログインボタンの押下
$doc.getElementById("login_btn").click()

③プルダウン値の取得処理

getElementsByName を使用して name で特定した情報の value を表示します。
このページに name="year" の要素は1つしかありませんが、配列で取得するため[0]を指定しています。

# 対象URL
$url = "https://d4c-lt.com/contents/samplepage/ymd_select.html"

# 年のプルダウン選択値を取得して表示する
Write-Host $doc.getElementsByName("year")[0].value

④プルダウン値の設定処理

取得処理と同様に特定した要素に値を設定します。

# 年のプルダウン値を設定する
$doc.getElementsByName("year")[0].value = "2025"

参考書