Functions/Get-HtmlDocument.ps1
[CmdletBinding()] param ( [Parameter(Mandatory)] [uri] $Uri, [string] $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', [string] $Referer ) Set-HttpClient -Uri $Uri Add-AngleSharp $global:HttpClient.DefaultRequestHeaders.Add('User-Agent', $UserAgent) if ($Referer) { $global:HttpClient.DefaultRequestHeaders.Add('Referer', $Referer) } try { $stream = $global:HttpClient.GetStreamAsync($Uri).Result } catch { throw '{0} へのリクエストに失敗しました。' } $parser = [AngleSharp.Html.Parser.HtmlParser]::new() $htmlDocument = $parser.ParseDocument($stream) return $htmlDocument <# .SYNOPSIS 指定したURLのHTMLをパースしてAngleSharpのオブジェクトで取得します。 .DESCRIPTION 指定したURLのHTMLをパースしてオブジェクトで取得します。 .PARAMETER Uri WebページのURIを指定する .PARAMETER UserAgent HTTPリクエストの為のユーザエージェントを指定します。 .PARAMETER Referer HTTPリクエストの為のリファラを指定します。 .INPUTS なし .OUTPUTS AngleSharp.Html.Dom.HtmlDocument AngleSharpによってパースされたHTMLを返します。 .EXAMPLE PS C:\>Get-HtmlDocument -Uri 'https://www.google.com/' この例では、Googleの検索ページのパースされたHTMLを返します。 .LINK https://anglesharp.github.io/docs.html .LINK https://github.com/AngleSharp/AngleSharp #> |