45
Автоматический сбор данных по примерам Сергей Нурк Разработчик YaC, Москва, 1 октября 2010 года

Сергей Нурк – Автоматический сбор данных по примерам

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Сергей Нурк – Автоматический сбор данных по примерам

Автоматический сбор данных по примерамСергей НуркРазработчик

YaC, Москва, 1 октября 2010 года

Page 2: Сергей Нурк – Автоматический сбор данных по примерам

План

● Введение● SinglePage● Алгоритм● Итоги

2

Page 3: Сергей Нурк – Автоматический сбор данных по примерам

Глава 1.Введение

3

Page 4: Сергей Нурк – Автоматический сбор данных по примерам
Page 5: Сергей Нурк – Автоматический сбор данных по примерам

5

Page 6: Сергей Нурк – Автоматический сбор данных по примерам

6

Page 7: Сергей Нурк – Автоматический сбор данных по примерам

Вёрстка

Разнообразна Часто изменяется

7

Page 8: Сергей Нурк – Автоматический сбор данных по примерам

Специализированные парсеры

На каждый сайт – свой

8

Page 9: Сергей Нурк – Автоматический сбор данных по примерам

Нужна армия

9

Page 10: Сергей Нурк – Автоматический сбор данных по примерам

Общие алгоритмы

Предполагают наличие на странице регулярной структуры

10

Page 11: Сергей Нурк – Автоматический сбор данных по примерам

11

MDR

Page 12: Сергей Нурк – Автоматический сбор данных по примерам

Основные требования

● Простая настройка● Простая поддержка● Высокие показатели полноты и точности

12

Page 13: Сергей Нурк – Автоматический сбор данных по примерам

Глава 2.SinglePage

13

Page 14: Сергей Нурк – Автоматический сбор данных по примерам

Управляемая экстракция1. Пользователь задает примеры

2. Система автоматически извлекает данные со всего сайта

14

Page 15: Сергей Нурк – Автоматический сбор данных по примерам

Взгляд внутрь1. По примерам строим шаблоны (один атрибут – один шаблон)

2. Применяем шаблоны к остальным (подходящим) страницам

15

Page 16: Сергей Нурк – Автоматический сбор данных по примерам

Гипотетические преимущества

● Быстрая настройка

● Не требуется разбираться в структуре страницы

● Структурированное извлечение нужной информации

● Устойчивость к изменениям вёрстки (пересоздание шаблонов)

16

Page 17: Сергей Нурк – Автоматический сбор данных по примерам

Ограничения● Отдельная страница на каждый объект● Группа страниц с однотипной вёрсткой

17

Page 18: Сергей Нурк – Автоматический сбор данных по примерам

Глава 3.Алгоритм

18

Page 19: Сергей Нурк – Автоматический сбор данных по примерам

Позиционирование

1. Xpath

2. Шаблон в виде дерева

19

Page 20: Сергей Нурк – Автоматический сбор данных по примерам

20

Page 21: Сергей Нурк – Автоматический сбор данных по примерам

21

//ul/li[3]/span

Page 22: Сергей Нурк – Автоматический сбор данных по примерам

22

Page 23: Сергей Нурк – Автоматический сбор данных по примерам

23

//ul/li[3]/span

Page 24: Сергей Нурк – Автоматический сбор данных по примерам

24

//ul/li[3]/span Size=20 quad laser...

Page 25: Сергей Нурк – Автоматический сбор данных по примерам

TreePattern

25

Page 26: Сергей Нурк – Автоматический сбор данных по примерам

26

TreePattern

Page 27: Сергей Нурк – Автоматический сбор данных по примерам

Схема алгоритма

27

● Находим вхождения примеров● Строим TreePattern, задающий

положение узла● Применяем TreePattern к

остальным страницам

Page 28: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

28

● Начинаем от мест вхождения примеров

● Синхронно движемся по деревьям, сравнивая узлы

● Накапливаем TreePattern

Page 29: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

29

Page 30: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

30 30

Page 31: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

31 31

Page 32: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

32 32

Page 33: Сергей Нурк – Автоматический сбор данных по примерам

Построение TreePattern

33 33

Page 34: Сергей Нурк – Автоматический сбор данных по примерам

34

Проблема

Page 35: Сергей Нурк – Автоматический сбор данных по примерам

Препятствия

● Сложности с вхождением примеров

● Неправильные страницы

35

Page 36: Сергей Нурк – Автоматический сбор данных по примерам

Поиск вхождений

36

Page 37: Сергей Нурк – Автоматический сбор данных по примерам

Множественные вхождения

4 варианта

Выбираем лучший

37

Page 38: Сергей Нурк – Автоматический сбор данных по примерам

Фильтрация страниц

38

Применяем шаблоны

Не применяем шаблоны

Все страницы

Page 39: Сергей Нурк – Автоматический сбор данных по примерам

Глава 4.Итоги

39

Page 40: Сергей Нурк – Автоматический сбор данных по примерам

Изменяющийся контент

Изменяется не везде

Хватает информации для формирования шаблонов

Есть возможность исправить пример

40

Page 41: Сергей Нурк – Автоматический сбор данных по примерам

Статистика

Время создания < 20 мин

Предварительная оценка качества – несколько секунд

Полнота: 88% Точность: 92%

successfail

successfail

41

Page 42: Сергей Нурк – Автоматический сбор данных по примерам

Нерешенные задачи

● Несколько объектов на странице

● Хорошая устойчивость к неоднородной верстке

42

Page 43: Сергей Нурк – Автоматический сбор данных по примерам

ЗаключениеПолуавтоматические методы

● По качеству данных и универсальности сравнимы со сбором «в ручную»

● Сложность и время настройки минимальны

P.S. Экономьте Ваше время!

43

Page 44: Сергей Нурк – Автоматический сбор данных по примерам

Вопросы

44

Page 45: Сергей Нурк – Автоматический сбор данных по примерам

Нурк СергейРазработчик

111033, Россия, Санкт-Петербург,Свердловская наб., д. 44.

[email protected]