lenarsaitov/cianparser

Дубли в таблице

airatvibe opened this issue · 6 comments

Сделал экспресс парсинг квартир в Сочи.
Отсортировал всё по цене за квадрат и увидел кучу дубликатов в таблице. Вот результат
Например, строки с 2002 до 2048
Файл приложил.
cian_parsing_result_sale_1_100_sochi_05_Feb_2023_22_37_50_429186.csv
Можно их автоматом отфильтровывать? Ссылка на объявление должна быть уникальной по идее. Можно по ней понять, что уже спарсили этот объект.
Либо можно выделить ID объявления из URL, и тогда он точно будет уникальным.
https://sochi.cian.ru/sale/flat/ID/

Параметры:

data = cianparser.parse(
    deal_type="sale",
    accommodation_type="flat",
    location="Сочи",
    rooms=("all"),
    start_page=1,
    end_page=100,
    is_saving_csv=True,
    is_latin=False,
    is_express_mode=True,
)

Спасибо за описанный пример! Действительно, вижу дублирования (на объявлениях по аренде подобного не встречал)

Да, ссылка на объявление уникально и ее значение вполне можно использовать в качестве индикатора, что запись уже имеется

Буду смотреть и реализовывать устранение данной ситуации

Вот пример объявления:
https://sochi.cian.ru/sale/flat/267286334/
В таблице оно встречается 47 раз.
Я думаю, дело в том, что оно имеет режим продвижения Топ, поэтому отображается на всех страницах (хотя я могу ошибаться).
В идеале выделять айди из URL вот в таком виде: 267286334 (я сам так использую).
Потому что URL может отличаться, но объявление будет одно и тоже, например:
https://sochi.cian.ru/sale/flat/267286334/
https://cian.ru/sale/flat/267286334/
https://krasnodar.cian.ru/sale/flat/267286334/
Выше это всё 3 разные ссылки на одно и то же объявление, т.к. просто меняется домен третьего уровня.

Действительно, да, ведь такое возможно (и встречается)
Об этом не подумал, очень ценное замечание, спасибо

Сам айди объявления можно тоже писать в таблицу при желании

Добавлена проверка, теперь дубликатов быть не должно
Версия с обновлением 0.4.11