Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как идентифицировать элемент?


Автор: Lindemann66 15.8.2011, 10:26
Всем привет!

Требуемый алгоритм
1. Считали HTML
2. Записали в базу
3. Считали ещё раз
4. Профильтровали ссылки (<a>) и отобразили только НОВЫЕ

Вот с 1-3 пунктами всё ок, а с 4 загвостка
Как идентифицировать ссылку, чтобы понять - вот эта ссылка, она есть и там и там, её не отображаем?
Мы можем сохранить путь к <a> (например, div, div, table, td, tr, a)
Но этот путь не идентифицирует ссылку УНИКАЛЬНЫМ образом.
Ссылок с таким текстом и таким путём может быть ОЧЕНЬ много в тексте
Надо как-то по другому

А как - хоть убей, не могу сообразить
Может, у кого-то есть идеи на этот счёт?

P.S. Реализую на Qt

Автор: spyswamp 15.8.2011, 10:29
Алгоритм избавления от дубликатов + функтор? Или ты плохо объяснил суть проблемы?

Автор: Lindemann66 15.8.2011, 10:30
Цитата(spyswamp @  15.8.2011,  10:29 Найти цитируемый пост)
Алгоритм избавления от дубликатов + функтор?

Да, ты правильно понял. В отношени HTML

Но если проще - то нужно отфильровать СТАРЫЕ ссылки
Так точнее

Автор: Lindemann66 15.8.2011, 12:11
Вобщем, решено использовать href в качестве "идентифицирующего" элемента
Т.е., если ссылки с таким href не было - она новая
В противном случае - игнорируем

Также, нужно учитывать исчезнувшие ссылки - вдруг у них просто заменился href?

Автор: borisbn 15.8.2011, 12:24
а что будешь делать, если в href стоит какой-нибудь .../latest_news.php ?

Автор: xvr 15.8.2011, 14:03
Цитата(Lindemann66 @  15.8.2011,  10:26 Найти цитируемый пост)
Мы можем сохранить путь к <a> (например, div, div, table, td, tr, a)
Но этот путь не идентифицирует ссылку УНИКАЛЬНЫМ образом.

Место ссылки (где стоит сам тег <A>) будет идентифицировано вполне уникально. (Можно распарсить HTML в виде DOM дерева, и путь от корня до каждого элемента <A> будет его идентификатором)

Цитата(Lindemann66 @  15.8.2011,  10:26 Найти цитируемый пост)
Ссылок с таким текстом и таким путём может быть ОЧЕНЬ много в тексте

С текстом - да, с путем - нет

NB. Ссылки из HTML бывают не только в виде тегов <A>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)