Аналіз ефективного застосування методів автоматизованого збирання даних з вебcайтів - Дзендзя, А. А.; Левус, Є. В.; Вовк, А. С. (Scientific Bulletin of UNFU, 2024)
Розглянуто актуальну для сфер електронної комерції, соціальних мереж, наукових досліджень завдань автоматизованого збирання даних з вебсайтів. Проаналізовано особливості застосування двох методів – вебскрейпінгу та інтерфейсу прикладного програмування АРІ (англ. Application Programming Interface) для розроблення ефективного комбінованого методу вирішення цього науково-практичної завдання як з погляду продуктивності, так і повноти отриманого результату. Розроблено власну систему автоматизованого збирання даних Harvester з використанням Microsoft.NET, AngleSharp, JSONpath, React.js. Оцінено можливість методів на здатність обробляти дані про вінілові платівки, що містять ціну, автора, назву релізу та штрихкод. Проведено низку експериментів для п'яти вебсайтів, із кожного з яких отримано від 500 до 4000 записів. Загальна кількість отриманих записів – 14995. В обчислювальних експериментах використано два типи джерел: 1) масові джерела – джерела, коли обробляється тільки сторінка каталогу з переліком товарів, де розміщені основні параметри продуктів; 2) одиничні джерела – коли після оброблення сторінки каталогу виконують додатковий збір даних зі сторінок окремих товарів для отримання дещо детальнішої інформації про кожен продукт. Вебскрейпінг було виконано за допомогою PuppeteerSharp для імітації користувача та AngleSharp для синтаксичного аналізу (парсингу) даних, тоді як доступ до API був структурований через REST. Запропоновано для аналізу продуктивності методів виокремити три основні етапи процесу оброблення сторінки вебсайту: завантаження, витягування, простій. Аналіз показав, що API забезпечує значно швидший (у середньому в 10 разів) і надійніший доступ до структурованих даних порівняно з вебскрейпінгом. API-запити дають можливість безпосередньо отримувати конкретну інформацію у стиснутому форматі (зазвичай JSON), що знижує загальну тривалість оброблення. На відміну від цього, вебскрейпінг, хоча й забезпечує більшу гнучкість, проте вимагає більше обчислювальних ресурсів через потребу синтаксичного аналізу HTML, оброблення динамічного контенту та навігації вебсторінками. Запропоновано для збирання даних з вебсайтів використовувати комбінований метод, що поєднує вебскрейпінг та запити інтерфейсу прикладного програмування. Цей метод забезпечує більшу повноту зібраних даних, ніж метод інтерфейсу прикладного програмування з оптимальною швидкістю порівняно з вебскрейпінгом.