Public/Get-Spotprent.ps1

function Get-Spotprent
{
    $DutchCulture = New-Object -TypeName System.Globalization.CultureInfo -ArgumentList 'nl-NL'
    [string[]]$PossibleDateFormats = @('d MMMM yyyy', 'd MMMM')

    $Elements =
    Invoke-WebRequest -Uri https://www.trouw.nl/cartoons/spotprent~bdea29f4/ `
    | Select-Object -ExpandProperty Content
    | pup '.artstyle__main--container json{}' --plain
    | ConvertFrom-Json
    | Select-Object -ExpandProperty Children

    $Dates =
    $Elements
    | Where-Object tag -In 'h3', 'p'
    | Select-Object -ExpandProperty text
    | ForEach-Object { $_ -replace 'augsutus', 'augustus' } # work around a typo
    | ForEach-Object { [DateTime]::ParseExact($_, $PossibleDateFormats, $DutchCulture, 'AllowWhiteSpaces') }

    $Images =
    $Elements
    | Where-Object tag -EQ figure
    | ForEach-Object {
        $_.Children.Children
        | Where-Object tag -EQ img
        | Select-Object -ExpandProperty 'data-original'
    }

    (0..($Images.Length - 1))
    | ForEach-Object {
        [PSCustomObject]@{
            PSTypeName = 'UncommonSense.Trouw.Article'
            Url        = $Images[$_]
            Date       = $Dates[$_]
            Title      = 'Spotprent'
            Body       = $Images[$_]
        }
    }
}