Public/Get-HeinDeKort.ps1
|
function Get-HeinDeKort { [CmdletBinding()] param() $PreviousDate = [DateTime].MaxValue $DutchCulture = New-Object -TypeName System.Globalization.CultureInfo -ArgumentList 'nl-NL' curl --silent --location 'https://www.parool.nl/strips-en-puzzels/bekijk-hier-alle-cartoons-van-hein-de-kort~b593bc50/' | Join-String -Separator ' ' | ConvertTo-HtmlDocument | ForEach-Object { $_.DocumentNode.SelectNodes('//figure') } | ForEach-Object { $Url = $_.Element('img').GetAttributeValue('src', 'FIXME') $DateText = $_.Element('figcaption').Elements('span') | Select-Object -ExpandProperty InnerText | Where-Object { $_ -match '^\d+ \w+ \d+\.?$' } | Select-Object -First 1 $Date = (-not $DateText) ? $PreviousDate.AddDays(-1) : [DateTime]::ParseExact($DateText, 'd MMMM yyyy\.', $DutchCulture, [System.Globalization.DateTimeStyles]'None') $PreviousDate = $Date [PSCustomObject]@{ PSTypeName = 'UncommonSense.Parool.Article' Url = $Url Date = $Date Title = 'Hein de Kort' Body = $Url } } } |