Поради для всіх
» » Парсер, що це: ідея і рух

Парсер, що це: ідея і рух

Додано: 21.10.16
Автор: admin
Інтернет зробив інформацію доступною, але щоб вибрати з неї потрібне, як і раніше, доводиться прикладати серйозні зусилля і втрачати значний час. Мови гіпертексту формалізували подання інформації, але завдання парсинга (розпізнавання) від цього не спростилася, а в деяких сферах навіть ускладнилася. Безліч форматів представлення, мов, стилів оформлення, варіантів доступу, способів розмітки даних повинен «знати і вміти» парсер: що «це саме те, що необхідне».


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

Палітра інструментів для парсингу

Парсер - визначення завдання: знайти потрібну інформацію з видачі пошукової системи, вмісту сайту, документів, електронних таблиць, файлів інших форматів. Більш формально: визначити і сформувати потік інформації, застосувати до нього набір ключових слів за певними правилами з конкретною метою. Алгоритми традиційно поділяються на синтаксичні і семантичні, включають певну кількість мов. Інструмент для парсингу може бути програмою, сайтом, плагіном. Варіантів реалізації пропонується багато, у кожного свої переваги і недоліки. Зокрема, парсер контенту X-Parser працює за списком ключових слів. Результат: дає чистий текст, списки сниплетов, посилань, URL, Пропонується розвинена система фільтрів, налаштування мов і форматування отриманого результату.


Програма DataCol орієнтована на збір інформації для наповнення сайту контентом. Наприклад, для створення сайту конкретної тематики (ресторани, магазини, туроператор, ) завжди необхідна загальна інформація, яку в цілях економії часу можна швидко знайти в Інтернеті, ніж сканувати або набирати вручну. Mailagent Parser орієнтований на збір адрес електронної пошти; SlimerJs дозволяє швидко аналізувати складні динамічні сайти. Система управління сайтами WordPress пропонує власний модуль для парсингу, яким можна настроїти, наприклад, постійно автоматично оновлювану стрічку новин.
Парсер, що це: ідея і рух
Інструментів багато, але кількість робіт з формування, розбиранні та форматування інформаційних потоків стабільно збільшується. Використання доступних засобів більше нагадує процес розуміння необхідного механізму конкретного парсинга для конкретної задачі, ніж спроби прилаштувати щось вже існуюче до свого ресурсу.

Основні сфери парсинга

Зазвичай масовий замовник стверджує про парсер, що це фільтр, і впевнено наполягає на цьому. Дійсно, щоб виконати бажання відвідувача, пошуковий сайт виконує аналіз безлічі інформаційних джерел, хоча найчастіше він риється у власних базах даних, тим не менш поповнюючи їх систематично. Будь-який пристойний сайт також пропонує пошук по своєму змісту, інформації, споріднених сайтів. Це теж має відношення до теми "що таке парсер", але справжній зміст завдання лежить в іншій площині.
Парсер, що це: ідея і рух
Треба віддати належне мов розмітки: їх численні, але суворі теги і способи оформлення даних дозволяють жорстко формалізувати те, що повинен розпізнати браузер, а це вже є парсинг. Багато інструменти для пошуку інформації використовують саме браузерні варіанти (движки). Регулярні вирази також є ефективним способом пошуку потрібної інформації. Реалізація jQuery - особлива форма парсинга документа, що лежить в ньому самому і формує його частину або управляє їм. Що таке парсер? Це і PHP, і браузер і вбудований в нього javascript. Ці засоби виконують свою, в більшій частині синтаксичну функцію. А ось що реально і суттєво: парсер - значення, яке визначає сферу застосування та мету. Говорячи про туристичне бюро, можна поставити завдання розробити парсер місць відпочинку, забезпечити оновлення інформації про умови проживання, погоду, ціни на продукти харчування, режимах роботи музеїв. Розробляючи новинний сайт, слід написати те, що буде аналізувати певний набір сайтів і збирати з них свіжу інформацію.
Парсер, що це: ідея і рух

Структура і зміст процесу

Перш ніж зробити осмислений відповідь на питання «парсер: що це?», потрібно сформувати потік інформації і визначити набір ключових слів. Алгоритм аналізу пошукової видачі, незважаючи на гадану формальність, має на вході різні елементи, в яких шукані слова і їх послідовності можуть виходити за межі бажаної семантики.
Парсер, що це: ідея і рух
Навіть престижні пошуковики, виконуючи користувальницький запит, часто пропонують зовсім не те, що потрібно за змістом, крім того, за власним розумінням постачають все, що пропонують, значним обсягом реклами і спаму. Стверджувати про парсер, що це еквівалент штучного інтелекту (оскільки доводиться мати справу з побудовою алгоритмів належних адаптуватися до мінливих інформаційних потоків, мобільним правил формування та використання ключових слів), дуже рано. Левова частка «парсинга», який автоматично і несвідомо робить людина щосекунди дуже проста, логіка цього процесу може бути досить легко формалізована, частково існуючі інструменти це демонструють.

Від статики до динаміки

Також можна сказати про парсер, що це сукупність алгоритму формування потоку інформації, правил визначення ключових слів та їх застосування. Але ці три підстави хиткі як пісок, а в конкретному застосуванні і їх можна інтерпретувати по-різному. Банальний пошук через "Гугл" і його варіант парсинга по слову «ключ» з ймовірністю 0% знайде хоча б одну статтю про джерело, який мирно дзюрчить десь в чудовому місці. Ймовірність не підвищиться, навіть якщо уточнити «ключ на галявині». "Гугл" сумлінно видасть:
  • Ключ на старт!
  • Місця відпочинку на природі - Офіційний сайт адміністрації
  • Гарячий Ключ, офіційний сайт "Гарячий ключ", форум "Гарячий ключ" На галявині Пам'ятки Таганай - Національний парк Таганай
  • Гостьовий будинок на Червоній Поляні, зняти будинок (котедж) на Новий
  • "Небесний ключ" - Результат з Google Книги
  • Природно алгоритм парсинга повинен оптимізувати цю видачу і видати інформацію про ключі як про джерелі, які вони бувають, де зустрічаються, ніж інтереси і корисні. Очевидно, що навіть самий розвинений парсинг з видачі "Гугла" тут нічого не дасть.

    Активні знання

    Щоб проблема була вирішена належним чином необхідно парсити не видачу пошукових систем, а контент безлічі сайтів і зміст невизначеного кількості статей. Як із слова «ключ» отримати змістовний потік інформації? Варіант може бути тільки один: потрібно зробити ключові слова активними, тобто пошук по конкретному слову повинен розширюватися за його змістом. Правило пошуку має бути активним, тобто, спочатку заданий, що само по собі перетворюється в попереднє уточнення сенсу, і тоді починається рух як в частині формування належного джерела інформації (аналізованого потоку), так і щодо того, що в ньому парс. Активне знання - щось з області Людина>Інтелект>Програмування, якась ЧИПиотика виходить. Це не просто правило, не просто слово. Чоловік знайшов інтелект і формалізував його допомогою програмування не статично, а динамічно, надавши парсингу нове значення - змінність на вході і мобільність у процесі. Зазначена концепція передбачає елемент саморозвитку - це складно, але якщо популярні пошукові системи «навчилися» аналізувати пошукові запити і почали в кожен браузер відправляти адекватну рекламу, цілком можливо цей успіх направити в більш доцільне русло.

    Ідеальне рішення: власні знання і досвід > призма правильних правил

    Парсинг став серйозною відчутною завданням і сформував конкретний досвід формування інформаційних потоків, правила застосування ключових слів. Розпізнавання символів, сканованих зображень і майже «досконалі» переклади з однієї мови на іншу на тлі розвитку інтерфейсів взаємодії (API сайтів, пошукових систем, парсерів) дозволяють визначити правильний напрямок руху. Як все буде реалізовано, сказати ще важко, але абсолютно вірно, що правила формування потоків інформації, структура ключових слів і розвиток інструмента має бути активним, причому ця складова зважаючи на загальну статичності і формальності сучасних мов програмування повинна визначатися в процесі використання. Цей той випадок, коли природний людський фактор у процесі вирішення нагальних завдань, може і буде сприяти навчанню і розвитку сфери парсинга, формування призми певних правил.