Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

PowerShell
Код:
# https://anglesharp.github.io/
using namespace AngleSharp
using namespace AngleSharp.Html.Parser

using namespace System.IO
using namespace System.Text

Add-Type -Path "$PSScriptRoot\AngleSharp.dll"

$parser        = New-Object -TypeName AngleSharp.Html.Parser.HtmlParser
$file          = "$PSScriptRoot\Программы.html" # сохранено из http://forum.ru-board.com/forum.cgi?forum=5
$encoding      = [Encoding]::GetEncoding("windows-1251")
$source        = [File]::ReadAllText($file, $encoding)
$document      = $parser.ParseDocument($source)
$tableSelector = "body > table:nth-child(13) > tbody"
$table         = $document.QuerySelector($tableSelector)
$rows          = $table.QuerySelectorAll("tr")

$ruBoardActiveTopicTable = @()

foreach ($row in $rows)
{
   $line = [Row]::new()
   $A    = 0
   $null = [int]::TryParse($row.QuerySelector("td:nth-child(4)").TextContent, [ref] $A)

   $line.Title         = $row.QuerySelector("td.poster > span > a").TextContent
   $line.Author        = $row.QuerySelector("td:nth-child(3) > a").TextContent
   $line.Answers       = $A
   $line.UpdatesDate   = [Convert]::ToDateTime($row.QuerySelector("td:nth-child(5) div[id^=lst]").TextContent)
   $line.UpdatesMember = $row.QuerySelector("td:nth-child(5) > a").TextContent

   $ruBoardActiveTopicTable += $line
}

$ruBoardActiveTopicTable |
Where-Object { ($_.Title) -and ($_.Title -NotMatch "Поиск по форуму") } |
Format-Table -AutoSize #ForEach-Object { $_.ToString() }

class Row {
   [string] $Title
   [string] $Author
   [int] $Answers
   [DateTime] $UpdatesDate
   [string] $UpdatesMember

   [string] ToString()
   {
       return "{0} - Updates: {1} by {2}" -f $this.Title, $this.UpdatesDate, $this.UpdatesMember
   }
}

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 11:02 30-01-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru