Invoke-WebRequestでコンテンツ取得時に文字化けする場合の対処

PowerShellを用いて、Webスクレピングを行った際に、取得した結果が文字化けする場合があります。意図した文字コードで取得していないためです。

その場合は、誤って取得したコンテンツの文字コードを明示的に指定したうえで、本来取得したかった文字コードにエンコードを行う必要があります。

Webページを取得する方法の例は以下のとおりです。

    # ウェブページの内容を取得
    $response = Invoke-WebRequest -Uri ${url}
    $contents = [System.Text.Encoding]::GetEncoding("UTF-8").GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($response.Content))

こちらのサイトを参考にさせていただきました。
https://qiita.com/zaki-lknr/items/1ae3258d7b77c5e2a2ba

コメントを残す