Get-ChildItem *.html | ForEach-Object {
$html = Get-Content -Raw $_
$items = $html | Select-String '(?smi)\n {32}(<div class="item.*?)\n {32}</div>' -allmatches | % Matches | % {$_.Groups[1].Value}
$items | % {
$num = $_ -match '.*<div class="num">(\d*)</div>.*' ? $Matches[1] : $null
$href,$title = $_ -match '.*<div class="nameRus"><a href="(.*?)">(.*?)<.*' ? $Matches[1,2] : $null
$titleEn = $_ -match '.*<div class="nameEng">(.*?)<.*' ? $Matches[1] : $null
$date = $_ -match '.*<div class="date">(.*?)<.*' ? $Matches[1] : $null
$vote = $_ -match '.*<div class="vote">(.*?)<.*' ? $Matches[1] : $null
$num,$href,$title,$titleEn,$date,$vote -join "`t"
} | % {[System.Web.HttpUtility]::HtmlDecode($_)}
} | Sort-Object {[int]($_ -split "`t")[0]} > myVotes.tsv
Get-ChildItem *.html | ForEach-Object {
$html = Get-Content -Raw -Encoding UTF8 $_
$items = $html | Select-String '(?smi)\n {32}(<div class="item.*?)\n {32}</div>' -allmatches | % Matches | % {$_.Groups[1].Value}
$items | % {
$num = if ($_ -match '.*<div class="num">(\d*)</div>.*') {$Matches[1]} else { $null }
$href,$title = if ($_ -match '.*<div class="nameRus"><a href="(.*?)">(.*?)<.*') { $Matches[1,2]} else { $null,$null }
$titleEn = if ($_ -match '.*<div class="nameEng">(.*?)<.*') {$Matches[1]} else { $null }
$vote = if ($_ -match '.*<div class="vote">(.*?)<.*') {$Matches[1]} else { $null }
$date = if ($_ -match '.*<div class="date">(.*?)<.*') {$Matches[1]} else { $null }
$num,$href,$title,$titleEn,$date,$vote -join "`t"
}
} | Sort-Object {[int]($_ -split "`t")[0]} > myVotes.tsv