Дублирование - неприятная проблема. Что я в итоге и сделал:
- 1. Удалите все HTML-теги, кроме ссылок (хотя я начал использовать регулярные выражения, я был сожжен. В конце концов я перешел к пользовательскому анализу для удаления тегов)
- 2. Удалите все пробелы
- 3. Case-десилицировать
- 4. Хеш все это с MD5.
Вот почему вы оставляете ссылку в:
Комментарий может быть таким простым, как «Да, это отстой». «Да, это отстой» может быть общим комментарием. НО, если текст «это отстой» связан с разными вещами, то это не дублирующий комментарий.
Кроме того, вы обнаружите, что экранирование тегов HTML странно для RSS-каналов. Вы могли бы подумать, что паразит <будет кодироваться дважды: (я думаю) & <;
Но это не так. Закодировано <
Но и теги HTML тоже! <p>
В конце концов я скопировал все известные теги HTML, проанализированные Mozilla Firefox, и вручную распознал эти теги.
Создание RSS-канала из HTML довольно неприятно, и я могу лишь указать вам на такие сервисы, как Spinn3r, которые отлично справляются с дедупликацией и извлечением контента. Эти сервисы обычно используют основанные на вероятности алгоритмы, которые выше меня. Я знаю одного провайдера, которому не нравились регулярные выражения (они должны были знать, что определенная страница была основана на MySpace или Blogger), но они не работали превосходно.