В текстовом документе есть список телефонных номеров и напротив него анкеты объявлений на разлиныхь сайтах на которых они размещены
+0 (000) 000-00-00 bb.ru
+0 (000) 000-00-00 b2.ru
+0 (000) 000-00-00 b4.ru
+0 (000) 000-00-00 b2.ru
Хочу построить новую базу Проверить есть ли такая де анкета на другом номере телефона если есть то объдинить 2 номера телефона в один
критерий 'такойжести' достаточно сравнения (например нечеткое сравнение, удалив из строк все кроме букв, цифр и знаков препинания) или что то сложнее?
Не очень понимаю, зачем нужна база, но если так, в любом случае, достаточно привести телефонный номер к унифицированному виду (обязательный +0, никаких лишних символов кроме цифр)
rPman, чтобы определять у какаого номера сколько объявлений и какие они. Теперь надо переработать базу опредлить была ли анкета на другом какой нибудь номере. если была то надо как то объединить 2 номера в 1
ffff567, нужен критерий "похожести", тогда есть о чём говорить. Например, можно сравнить текст объявления с помощью расстояния по Левенштейна, если оно маленькое - считать похожим (не забывать при этом, что на коротких текстах расстояние всегда будет маленьким и этот случай надо аккуратно обработать отдельно, чтобы не слить тысячи коротких текстов в один).
ffff567, например, пусть есть три объявления на одном сайте:
+телефон: куплю гараж в Москве
+телефон: куплю гараж в Питере
+телефон: продам гараж в Москве
И на другом сайте:
+телефон: куплю гараж в Москве или в Питере
+телефон: гараж в Москве куплю недорого
Вот надо каждому тексту в первом списке найти парный во втором списке. Как найти "то же самое объявление" при таком несовпадении текстов? Тем более что формат представления на сайтах может быть различен. Например, на одном есть отдельное поле "часы для связи", а на другом - нет - и там соответствующая инфа может как присутствовать (в свободной форме в тексте, например, не просто интервал "18:00-02:00", а "после 6 вечера"), так и может быть просто опущена вообще.
В общем, это проблема не про хранение, а про алгоритм поиска "того же самого объявления". А поскольку многие объявления очень короткие и однотипные (десятки людей могут просто продавать гараж без лишних комментариев), то это очень сложно и будет гигантское количество ложных срабатываний.
Большинство парсящих чужие доски объявлений борются не за сравнение текста, а за извлечение реального номера телефона. И именно поэтому любая доска всячески сопротивляется этому, закрывая номер сложным js, капчей или даже временно генерируемым прокси-номером.
ffff567, тебе задали вполне конкретный вопрос: что значит "такая же анкета" во фразе "есть ли такая же анкета на другом номере телефона". Т.е. есть две анкеты, как ты решишь, они одинаковые или нет? Решение будет целиком зависеть от этого.
Vindicar, например объявление эскортниц на одно объявлении указана одна девушка с этитм номером телефона на другом объявлении с таким же номером телефона другая.
Вот хочу проверить все ссылки которые есть содержатся ли они в других номерах телефонов
ffff567, вот. Отсюда получается такая логика.
1. Вытаскиваешь важную для тебя часть объявления (например, только ссылки). Назовём её дайджест.
2. Хранишь соответствие "номер телефона - дайджест".
После этого можно будет сравнивать дайджесты разных телефонов. Но всё равно может быть ситуация, когда дайджесты совпадают неидеально - например, одни и те же ссылки в разном порядке. Так что придётся думать, как измерить степень соответствия.