9. The Document Object Model (DOM) is a cross-platform and
language-independent convention for representing and
interacting with objects in HTML, XHTML, and XML documents.
9
Всем DOM
25. стоит искать в том блоке, где больше всего текста
〉комментарии к посту
〉рейтинг в одном блоке, описание – в другом
предварительная обработка страницы
〉выделение значимого контента
какая-нибудь магия
25
В каком месте на странице искать?
32. по какому признаку объединять узлы?
сколько сегментов нам надо?
не знаем, какой из сегментов основной
32
Недостатки block fusion
33. 33
Оптимизация функционала
<root>
<parent/>
<p>покупайте плюшки</p>
<parent>
<child/>
<child foo=“bar”/>
<p> Hатpиевые атомы предварительно были
замечены близко с центром других комет, но
гелиоцентрическое расстояние жизненно дает
поперечник. Узел на следующий год, когда было
лунное затмение и сгорел древний храм Афины в
Афинах (при эфоре Питии и афинском архонте
Каллии), притягивает экваториальный лимб.</p>
<child foo=“zoo”/>
</parent>
<p>покупайте наших слонов</p>
</root>
34. 34
<root>
<parent/>
<p>покупайте плюшки</p>
<parent>
<child />
<child foo=“bar”/>
<p> Hатpиевые атомы предварительно были
замечены близко с центром других комет, но
гелиоцентрическое расстояние жизненно дает
поперечник. Узел на следующий год, когда было
лунное затмение и сгорел древний храм Афины в
Афинах (при эфоре Питии и афинском архонте
Каллии), притягивает экваториальный лимб.</p>
<child foo=“zoo”/>
</parent>
<p>покупайте наших слонов</p>
</root>
Оптимизация функционала
35. заменим в коде страницы каждый тег на -1 ,
каждое слово в текстовой части на 1
<div><p>Бубен</p></div>
35
Пляска с
-1 -1 +1 -1 -1
41. Об ошибках
41
Тут могла быть
ваша реклама
Экспертная оценка
Положительная Отрицательная
Оценка
системы
Положительная TP FP
Отрицательная FN TN
42. 42
О страшных ошибках
И тут могла быть
ваша реклама
Экспертная оценка
Положительная Отрицательная
Оценка
системы
Положительная TP FP
Отрицательная FN TN
53. делаем предположение о количестве ( 8<N<25 )
ищем нумерацию на странице
пробуем искать регулярными выражениями
53
Если количество не указано в заголовке
54. 54
Как выбрать направление списка?
с начала или с конца ?
1.
2.
3.
4.
5.
6.
10.
9.
8.
7.
6.
5.
4.
3.
2.
1.
56. 56
Пример использования regExp
Хойан, Вьетнам
Человек, ни разу не занимавшийся планированием самостоятельного
путешествия во Вьетнам, скорее всего, никогда не слышал о Хойане, а
услышав, спутал бы с Ханоем.
Гоа, Индия
Это правда, цены на отдых в Гоа в последние годы растут чересчур
быстро, но того, кто туда доберётся, ожидает щедрое вознаграждение.
Каир, Египет
Каир сегодня следует отнести к категории «в зависимости от новостей»,
на самом деле, ситуация в городе только стимулирует снижение цен на
перелеты и неплохие отели в туристической зоне.
57. Хойан, Вьетнам
Человек, ни разу не занимавшийся планированием самостоятельного
путешествия во Вьетнам, скорее всего, никогда не слышал о Хойане, а
услышав, спутал бы с Ханоем.
Гоа, Индия
Это правда, цены на отдых в Гоа в последние годы растут чересчур
быстро, но того, кто туда доберётся, ожидает щедрое вознаграждение.
Каир, Египет
Каир сегодня следует отнести к категории «в зависимости от новостей»,
на самом деле, ситуация в городе только стимулирует снижение цен на
перелеты и неплохие отели в туристической зоне.
57
Пример использования regExp
59. Место, Страна
Место в Стране
Место (Страна)
Страна: Место
…
59
Еще примеры объектов для поиска
60. плюсы
понятно, как работает
перечисления обычно ведутся одинаковым способом
минусы
трудно перебрать все варианты
могут выделить лишнее
60
Итоги использования regExp
64. 64
Аккуратность при выборе стоп-слов
Страны
Авиабилеты
Отели
Туры
Виза
Контакты
…
Искусство
Финансы
Новости
Наука
Идеи
Техника
…
Египет
Испания
Колумбия
Перу
Индия
Польша
…
65. плюсы :
простота в реализации
легкость в отладке
минусы:
неконтролируемый рост их количества
не все стоп-слова принесут только пользу
необходимо постоянное вмешательство человека
65
Итоги использования стоп-слов
69. ходим по childnodes
выбираем уровень вложенности (оптимально 7)
отбрасываем теги <!script> , <!comment>
69
Генерируем xpath-ы
70. 70
для url1 : $x(‘/a/b/text()’) = ‘Египет Турция Тунис …’
для url2 : $x(‘/a/b/text()’) = ‘Египет Турция Тунис …’
Ищем совпадающие блоки
для url1 : $x(‘/div/a/text()’) = ‘Авиабилеты Отели …’
для url2 : $x(‘/div/a/text()’) = ‘Авиабилеты Отели …’
71. Удаляем со страницы те элементы dom дерева, что являются
результатом выполнения найденых xpath
71
Чистим нашу страницу
72. плюсы:
уверенность в том, что ничего нужного не пропадёт
совместимость с алгоритмами сегментации
минусы
требуется больше времени, чем стоп-словам
необходимо подбирать глубину xpath
и еще плюсы
все минусы - разовая задача
72
Итоги вырезания боковых блоков