Веб-скрейпинг на PascalABC.NET
Что такое веб-скрейпинг
Веб-скрейпинг (web scraping) - это технология извлечения данных с веб-страниц.
Например, нам необходимо узнать, какая версия PascalABC.NET заявлена на официальном сайте.
Скачивание веб-страницы и поиск нужного паттерна
Для этого вначале скачаем веб-страницу, где указана данная версия, в виде строки:
var wc := new System.Net.WebClient; wc.Encoding := Encoding.UTF8; var s := wc.DownloadString('http://pascalabc.net/ssyilki-dlya-skachivaniya');
После этого с помощью регулярных выражений найдём в данной строке паттерн, соответствующий строке на веб-сайте, написанной красным:
PascalABC.NET (версия 3.8.3, сборка 3211 от 08.12.2022) - Windows, Linux
Нас интересует номер версии, номер сборки и дата сборки. Воспользуемся регулярным выражением
'версия (\d*\.\d*\.\d*), сборка (\d*) от (\d*\.\d*\.\d*)'
В скобки взяты группы символов, которые нас интересуют: версия, сборка и дата. Их выделим отдельно в найденном соответствии Match с помощью метода Groups.
Текст программы
uses System.Net; begin var wc := new WebClient; wc.Encoding := Encoding.UTF8; var s := wc.DownloadString('http://pascalabc.net/ssyilki-dlya-skachivaniya'); var mm := s.Matches('версия (\d*\.\d*\.\d*), сборка (\d*) от (\d*\.\d*\.\d*)'); if mm.Count > 0 then begin var f := mm.First; Println('Версия:',f.Groups[1].Value); Println('Сборка:',f.Groups[2].Value); Println('Дата сборки:',f.Groups[3].Value) end; end.
Результат
Версия: 3.8.3 Сборка: 3211 Дата сборки: 08.12.2022
Скриншот среды
Заключение
PascalABC.NET опирается на платформу .NET, содержащую огромное количество классов для прикладных задач. В данном случае мы воспользовались классом WebClient для извлечения нужной нам информации со страниц сайта, а также регулярными выражениями, которые встроены как методы расширения строк PascalABC.NET.