Задать вопрос
  • Почему парсер не собирает данные и записывает пустые значения?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Есть несколько моментов:
    1. Про длинный кусок кода: он и не будет работать так, как вы хотите, потому что вы передаёте аргумент with_extra_data=True в свою самописную функцию, а в parser.get_flats() - нет. Соответственно он и не парсит дополнительные поля, отсюда и: "пробовала вывести ключи: смотрю, а их там тупо нет".
    Должно быть:
    data = parser.get_flats(deal_type=deal_type, rooms=rooms, with_extra_data=True,  additional_settings={"start_page": page, "end_page": page})


    2. Если вы действительно использовали эти прокси (а не просто привели их для примера), то это бессмысленно - они нерабочие. Прокси из свободного доступа редко долго живут, а тут они вообще из примера на pypi.org / github.

    3. Вёрстка сайтов постоянно изменяется, в том числе и для противодействия парсингу. Текущая версия циана не имеет<span> c текстом "Тип жилья", а именно такой селектор использовался в библиотеке парсера, следовательно он всегда будет отдавать -1 для object_type.

    4. Если вы всё-таки хотите парсить сайт, используя cianparser, то вам нужно внести несколько изменений в файл библиотеки: "Путь до вашего проекта\venv\Lib\site-packages\cianparser\flat\page.py".
    В функцию__parse_flat_offer_page_json__(self)после инициализации словаря page_data, добавить:
    ot = self.offer_page_soup.select_one('[data-name="OfferSummaryInfoItem"] p:nth-of-type(2)').get_text()
    page_data["object_type"] = ot

    и закомментировать строчки:
    # if "Тип жилья" == span.text:
    #     page_data["object_type"] = spans[index + 1].text


    Результат:
    671dbfa43dc32277607933.png
    Ответ написан
    3 комментария
  • Как понять, что не так с ноутбуком?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Как-то раз слышала довольно громкий, исходящий от него звук. Какой-то электронный трещащий звук

    Если у вас внутри HDD, то сравните то, что вы слышали с типовыми звуками неисправных жёстких дисков.

    Если найдёте похожий, то дело не фонтан - диск умирает и основная задача - спасать с него данные. Затем менять.

    Также хорошо было бы посмотреть SMART, например, КристалДиском или Р.тестером.

    С учётом того, что диск выдержал, как я понимаю, два полных сканирования антивирусом, поторопитесь - скопируйте на другой носитель все важные файлы оттуда, пока он читает. Лучше не на флэшку - для длительного хранения не подойдёт. Лучше другой диск, SSD, или облако.

    может подскажите программу для проверки диска

    Максимально детальное тестирование поверхности диска можно сделать в том же R.tester'е, но исключительно после копирования важной информации: Toolbox -> Cert tool lite -> Add task -> Start. Оптимальный вариант тестирования - при подключении к другому компьютеру, чтобы активность ОС не вносила искажений.
    Если диск отходит в мир иной, то любая подобная программа, или просто активные операции могут добить его окончательно. После этого только платное восстановление у специалистов.
    Ответ написан
    Комментировать