Новини високих технологій
» » Що таке парсинг: мета і логіка

Що таке парсинг: мета і логіка

10-01-2018, 16:18
1 027
Парсинг став особливо популярний останнім часом, але його ідея з'явилася і використовується вже давно. Обробка великих обсягів даних, при яких джерело не є формалізованим, а алгоритм - строго фіксованим, актуальна і популярна завдання.
Що таке парсинг? Поняття звично асоціюється з Інтернетом, але автоматизація процесів обробки інформації йде корінням в локальне програмування. Розподілена обробка інформації була б не так ефективна, якщо б їй не передував тривалий період теорії і практики аналізу текстів.


Загальне уявлення про парсингу

Програма для парсингу може бути виконана на будь-якій мові програмування. В якості джерела даних виступає: Інтернет; конкретний перелік веб-ресурсів; шлюз в локальну мережу; база даних; сканований матеріал та інше. Одним з хороших інструментів для вирішення завдань парсинга є серверне програмування на мові PHP, XML, CSS, HTML, та інші подібні формати представлення даних є найбільш затребуваними і частими їх джерелами.
Результат парсинга, наприклад: динаміка валютного ринку; котирування на біржі; кліматичні дані; оновлення програмного забезпечення; новини та події у світі тощо. Сфера застосування визначає і наповнює конкретним змістом поняття, дозволяє зрозуміти, що таке парсинг.

Вплив області завдання на алгоритм парсинга

Робота інформаційних систем у сфері біржової торгівлі істотно відрізняється від роботи системи складського обліку. У першому випадку є суворо конкретний, рідко змінний спектр ресурсів і фіксований алгоритм отримання потрібних даних. У другому випадку потрібно розпізнавання образів, перетворення графічної інформації в текстову.


Очевидно, що таке парсинг в цих двох випадках. Він істотно відрізняється: за розуміння вихідного даного; за алгоритмом його обробки. Збір інформації про клімат не може орієнтуватися на строго певний спектр джерел. В даній предметній області змінюється не тільки кількість варіантів отримання вихідної інформації, але і ймовірне зміна логіки парсингу. Багато фінансові сайти або географічні ресурси (клімат, погода, прогнози) пропонують відвідувачам не свої сторінки, а можливість скачати уточнений обсяг інформації. Виникає завдання - зробити парсинг файлу. При цьому часто недостатньо взяти нові рядки, яких не було в попередніх завдань. Часто завантажується знову файл містить зміни по всьому своєму вмісту. При написанні ефективних програм парсинга не слід виключати цей момент навіть у випадках, коли область застосування представляється статичною.

Аналіз логіки парсинга

У більшості випадків, що таке парсинг, визначає програміст. На це може впливати замовник. Часто ідеї та алгоритми розробника, особливо на рівні компанії - це серйозне ноу-хау і комерційна таємниця автора. Спостерігаючи роботу пошукових систем, які в свій час парсили простори Інтернету, збираючи інформацію; які постійно уточнюють зібране, бажаючи підтримувати свій інформаційний арсенал на сучасному та актуалізованому рівні, розумієш, що завжди є відповідність:
вихідний (ключовий запит); пошукова видача (відповідь на запит). Це класична формула парсинга, під якою лежить унікальний фундамент. Алгоритм парсинга розгадати складно, але аналізуючи сукупності ключових слів і зіставляючи результати пошукових видач, можна визначити доцільне застосування тих чи інших інструментів. Основний критерій будь-якого інформаційного процесу: відповідність поставленого завдання отриманим рішенням. Хороше доповнення до рішення - його актуальність. Далеко не кожен веб-ресурс повідомляє на своїх сторінках дату оновлення інформації, але якщо порівнювати попередні результати парсинга з поточними, то можна робити висновки, наскільки оновлюємо цей ресурс.

Динаміка кордонів парсинга

Що таке парсинг - цілком зрозуміло, коли є мета зібрати потрібну інформацію. Є критерії, є спектр джерел даних і мета. Можуть бути й інші уточнення умов завдання та уявлень про бажане рішення. Якщо використовується PHP XML, CSS, HTML, то немає проблем. Ці мови опису даних строго формальні і при правильному застосуванні регулярних виразів дозволяють мати достовірний результат. Якщо творець ресурсу, який парс, змінює структуру сторінки, додає опису або нові теги, то шукана інформація вже не підпадає під написане регулярний вираз, а результат буде включати в себе неточну вибірку. Можна розширити межі парсинга, щоб захоплювати більший обсяг інформації, а потім уточнювати отримане, чи звузити межі пошуку і отримувати мінімум інформації. У першому випадку доводиться йти на додаткові витрати по фільтрації отриманої вибірки, у другому випадку легко упустити щось важливе. Кращим рішенням буде формалізація цільової інформації не тільки в частині її очікуваного змісту і тегового оточення, а в контексті першого і динаміку другого. Накопичуючи досвід тегового оточення необхідного контенту, можна з досить великою часткою вірогідності визначити межі положення шуканого, не мати велику вибірку зайвого і не втратити істотного.
Цікаво по темі
Конструкція PHP if else: прихована логіка
Конструкція PHP if else: прихована логіка
Умовний оператор - найдавніша конструкція синтаксису будь-якої мови програмування. Програми завжди щось порівнювали і «вирішували, що робити далі.
Парсер - це відповідь на правильно поставлене питання
Парсер - це відповідь на правильно поставлене питання
Прийняття правильних рішень можливе на підставі актуальної інформації. Коли з'явилася ідея парсинга, на динаміку інформації було звернуто увагу. Але
Читання файлу функцією file get content PHP
Читання файлу функцією file get content PHP
Читання вмісту файлу цілком - природна операція, і в багатьох випадках краще рішення - використання функції file_get_contents на PHP.