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

Поделиться
HTML-код
  • Опубликовано: 17 апр 2023
  • В нашем новом видео мы погрузимся в мир парсинга интернет-магазинов. Мы разберемся, как получить данные из API интернет-магазина Петрович, используя Python и библиотеки requests и pydantic. Этот процесс не только интересен, но и может быть полезен для ваших собственных проектов
    Приватные прокси за 99 руб: proxy6.net/?r=54545
    Купон на скидку: SdSq8wCwJA
    Поддержать канал:
    yoomoney.ru/to/410014382689862
    или
    2204 1201 0103 5539
    Контакт для связи: sergeichopolovich1989@gmail.com
    #python #parsing #api #json #pydantic #requests

Комментарии • 11

  • @the_parse_hub
    @the_parse_hub  Год назад

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

  • @user-bx5jw2ws7h
    @user-bx5jw2ws7h 10 месяцев назад

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

  • @user-hw5fw1vt7z
    @user-hw5fw1vt7z 10 месяцев назад

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

    • @the_parse_hub
      @the_parse_hub  10 месяцев назад

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

    • @user-hw5fw1vt7z
      @user-hw5fw1vt7z 10 месяцев назад

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

    • @andreyo.945
      @andreyo.945 6 месяцев назад

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

  • @eskendirgalim
    @eskendirgalim 7 месяцев назад

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

    • @the_parse_hub
      @the_parse_hub  7 месяцев назад +1

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

  • @user-fw5ou5pg9n
    @user-fw5ou5pg9n 10 месяцев назад

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

    • @the_parse_hub
      @the_parse_hub  10 месяцев назад

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

    • @user-fw5ou5pg9n
      @user-fw5ou5pg9n 10 месяцев назад

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