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

210 0 Новини високих технологій

Парсинг став особливо популярний останнім часом, але його ідея з'явилася і використовується вже давно. Обробка великих обсягів даних, при яких джерело не є формалізованим, а алгоритм - строго фіксованим, актуальна і популярна завдання.

Що таке парсинг: мета і логіка
Що таке парсинг? Поняття звично асоціюється з Інтернетом, але автоматизація процесів обробки інформації йде корінням в локальне програмування. Розподілена обробка інформації була б не так ефективна, якщо б їй не передував тривалий період теорії і практики аналізу текстів.


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

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

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

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


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

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

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

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

    Що таке парсинг - цілком зрозуміло, коли є мета зібрати потрібну інформацію. Є критерії, є спектр джерел даних і мета. Можуть бути й інші уточнення умов завдання та уявлень про бажане рішення. Якщо використовується PHP XML, CSS, HTML, то немає проблем. Ці мови опису даних строго формальні і при правильному застосуванні регулярних виразів дозволяють мати достовірний результат. Якщо творець ресурсу, який парс, змінює структуру сторінки, додає опису або нові теги, то шукана інформація вже не підпадає під написане регулярний вираз, а результат буде включати в себе неточну вибірку. Можна розширити межі парсинга, щоб захоплювати більший обсяг інформації, а потім уточнювати отримане, чи звузити межі пошуку і отримувати мінімум інформації. У першому випадку доводиться йти на додаткові витрати по фільтрації отриманої вибірки, у другому випадку легко упустити щось важливе. Кращим рішенням буде формалізація цільової інформації не тільки в частині її очікуваного змісту і тегового оточення, а в контексті першого і динаміку другого. Накопичуючи досвід тегового оточення необхідного контенту, можна з досить великою часткою вірогідності визначити межі положення шуканого, не мати велику вибірку зайвого і не втратити істотного.