Парсим интернет-магазин Петрович: сбор данных JSON с помощью Python, requests и pydantic

Поділитися
Вставка
  • Опубліковано 17 січ 2025

КОМЕНТАРІ • 13

  • @the_parse_hub
    @the_parse_hub  Рік тому

    Код: github.com/Duff89/petrovich_parser
    Библиотека pydantic: docs.pydantic.dev/

  • @ЗозяФилипс
    @ЗозяФилипс 7 місяців тому

    большое спасибо за контент, супер просто!

  • @КирюшаИзКриуши

    ЛАйк за @property: изучал обзорно ооп, но так и не понял концепт. А сейчас как понял)

  • @ДмитрийСоколов-ь2ж

    Подскажите что можно сделать?
    Сейчас метод parse_obj не используется (библиотека выдаёт что надо использовать model_validate метод, но через этот метод не получается пропарсить json

    • @the_parse_hub
      @the_parse_hub  Рік тому +1

      Только что проверил скрипт, всё работает. Возможно это у Вас новый pydantic много о себе возомнил. Попробуйте со старой версией, сделайте так: pip install pydantic==1.10.7

    • @ДмитрийСоколов-ь2ж
      @ДмитрийСоколов-ь2ж Рік тому

      @@the_parse_hub Ага, понял, попробую сегодня. Спасибо

    • @andreyo.945
      @andreyo.945 Рік тому +1

      Метод в таком виде Items.model_validate(response.json()['data']) работает нормально, нужно в модели Product поменять тип поля code на int

    • @distillationcraft6931
      @distillationcraft6931 3 дні тому

      @@andreyo.945 Хорошо начал читать комментарии, столкнулся с такой же проблемой. Pydantic не стал менять, поменял метод на model_validate() с изменением типа в поле code. Все заработало. Спасибо большое!

  • @ИльяКузьмин-р4ж

    Крутой парсер, но не могу понять почему когда парсит на выходе много дубликатов, по итогу всего 50 товаров выходит?

    • @the_parse_hub
      @the_parse_hub  Рік тому

      Спасибо!
      Насчет дублей, что-то могло поменяться с момента написания данного парсера

    • @ИльяКузьмин-р4ж
      @ИльяКузьмин-р4ж Рік тому

      А насчет количества товаров?
      @@the_parse_hub

  • @eskendirgalim
    @eskendirgalim Рік тому

    Спасибо за обучение!
    В файле data.csv названия всех инструментов не выводится на русском языке, а просто символы ромба с вопросительным знаком внутри. Что не так?(

    • @the_parse_hub
      @the_parse_hub  Рік тому +2

      Спасибо!
      Нужно добавить информацию о кодировке в строке 111: with open(f"{self.category}.csv", mode="a", newline='', encoding="utf-8") as file: