PLAYWRIGHT: пишем парсер OZON

Поділитися
Вставка
  • Опубліковано 21 вер 2024

КОМЕНТАРІ • 110

  • @EvgeniySakharov
    @EvgeniySakharov Рік тому +11

    Playwright год назад юзал. Информации на русском вообще не было. Индусов смотрел. И по SeleniumBase на русском только Ваше видео. Так что у Вас работы не початый край. ))) Спасибо. Как всегда, отличный контент. Да еще и ООП!
    Евгений.

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

      Спасибо, по Playwright на русском действительно очень мало информации, нужно исправлять

  • @БелгородскийКамнеобрабатывающи

    Хотим увидеть курс,и поддержим.

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

      Курс уже в разработке. Хочется выпустить сразу весь, чтобы всем было удобно. В связи с нехваткой времени, не могу точно сказать когда он будет готов

  • @Vladimir_F609
    @Vladimir_F609 Рік тому +3

    Автору респект!!! Огромное спасибо за видос! Мотивирует😊 Однозначно за курс по Playwright

  • @iswearican__
    @iswearican__ 10 місяців тому +2

    однозначно хотим видеть курс по playwright

  • @АлександрБухтояров-ф9м

    Большое спасибо за хороший пример по playwright! И отдельное спасибо за то, что не спешишь никуда, когда объясняешь. Очень хорошо объясняешь в теме автоматизации и парсинга, приятно слушать. Желаю успехов)

  • @DmitriiDomingo
    @DmitriiDomingo 10 місяців тому +1

    Спасибо, дружище! Не все успеваешь посмотреть новое и проверить. Такие видео крайне полезны! лайк и подписка!

  • @DmitriiDomingo
    @DmitriiDomingo 10 місяців тому +2

    Поставил тебе еще на гитхабе звезд! продолжай в том же духе! будем смотреть :)

  • @alexkooper9467
    @alexkooper9467 11 місяців тому +1

    Спасибо большое автору, объясняет доходчиво, однозначно лайк.

  • @KevinJones-ty5hg
    @KevinJones-ty5hg Рік тому +3

    Спасибо за видео. Оставляю комментарий для того, чтобы отблагодарить автора видео, а также для того, чтобы поддержать канал! Надеюсь, символов в комментарии достаточно, чтобы ютуб его засчитал и начал больше продвигать видос xD

  • @Kr45h1k
    @Kr45h1k Місяць тому

    Прошел год, а курса нету :(
    Не забрасывайте, пожалуйста. Ждём до сих пор.

    • @the_parse_hub
      @the_parse_hub  Місяць тому +1

      Сам чувствую ответственность за это. Уже 2 раза начинал делать этот курс, но всё не то. Но раз обещал - значит сделаю

  • @dimasdimas4913
    @dimasdimas4913 11 місяців тому

    Познавательное видео.Ждем продолжение.

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

    Отличное образовательное видео
    👍

  • @alexxlub
    @alexxlub 9 місяців тому

    Спасибо за видео!

  • @АлексДан-ш2к
    @АлексДан-ш2к Рік тому +3

    Как всегда топчик контент 👍

  • @AntonYatsenkoRU
    @AntonYatsenkoRU 11 місяців тому +2

    Спойлер, чтобы не тратили зря своё время. Это уже не актуально. Оно так не работает уже в случае с ozon((.
    Но автору спасибо. В образовательных целях было полезно)) Лайк

    • @the_parse_hub
      @the_parse_hub  11 місяців тому

      Я прекрасно понимаю, что такого вида парсеры не могут работать вечно, да и писался он больше в учебных целях, но ради интереса решил проверить сегодня его работоспособность:
      1) После нескольких пробных запусков понял, что нужно добавить паузу перед тем как писать в поле поиска, добавил простой time.sleep(5) и всё заработало
      2) Есть проблемы с чтением имени продавца, но и там не хватает обычной паузы
      3) 90% проблем возникает из-за того, что в данном видео использовался playwright==1.36.0, сейчас это уже устаревшая версия, но никто не мешает установить именно её
      4) Помните, что это не готовый рабочий продукт, а всего лишь что-то вроде прототипа и писалось для демонстрации работы playwright в реальных условия

  • @ПавелГорюнов-п3в
    @ПавелГорюнов-п3в 10 місяців тому

    Просто супер

  • @yagohush7414
    @yagohush7414 9 місяців тому

    хотим увидеть курс по плейрайт!!!

  • @ii3246
    @ii3246 10 місяців тому

    спасибо. норм тема.)))

  • @ДенисВакуленко-о1я
    @ДенисВакуленко-о1я 10 місяців тому +1

    Есть ощущение, что слушаю Олега Молчанова

  • @user_alex_
    @user_alex_ 8 місяців тому

    👍👍👍👍👍👍👍👍

  • @r1-yzf216
    @r1-yzf216 8 місяців тому

    сильно ))

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

    Новый контекст это по сути новый профиль? К нему можно подвязать куки и прокси? Не згаете есть ли к этой библиотеке что-то типа как selenium-stealth?

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

      Насчет контекст=профиль верно.
      Насчет stealth не подскажу, раньше у меня playwright нормально работал на сайте с cloudflare и потребности в stealth не было, как сейчас не знаю, это нужно пробовать

  • @marchemilkazzz9148
    @marchemilkazzz9148 4 місяці тому

    Хочется увидеть playwright c прокси

  • @user_alex_
    @user_alex_ 8 місяців тому

    👍👍👍👍👍👍👍👍👍👍👍👍

  • @АлександрТолмачев-ж4я
    @АлександрТолмачев-ж4я 8 місяців тому

    пока нахожусь на 15 минуте ролика
    как мне кажется, перед тем, как что то вводить, лучше всегда сначала использовать метод .click(), иначе есть риск, что во время исполнения скрипта текст не введется полностью. Я вот сейчас пытаюсь с помощью скрипта входить в админку в вордпрессе и без .click() у меня через раз логин полностью прописывается

    • @the_parse_hub
      @the_parse_hub  8 місяців тому

      Частично согласен, но здесь всё зависит уже от конкретного сайта

  • @englishforfamily
    @englishforfamily 10 місяців тому

    Ваш канал и видео просто супер💪👍👍 подскажите пожалуйста что бы сработал кусочек кода JavaScript, весь JS нужно установить?? А то что то не срабатывает прокрутка страницы

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

    Привет, а как прокинуть опции в браузер, например, флаг "--start-maximized", чтобы развернуть его на весь экран??? За работу лайк однозначно, так держать!!!

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

      Спасибо!
      Это можно сделать при добавлении контекста, к примеру так:
      self.context = browser.new_context(viewport={"width": 1920, "height": 1080})

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

      Спасибо тоже!@@the_parse_hub

  • @mikala1158Qqq
    @mikala1158Qqq 10 місяців тому +1

    Дружище, что ты со списком ссылок делаешь…
    Есть прекрасный способ, называется срез, тогда код бы выглядел еще лаконичнее:
    for link in links[:5]:

    А так спасибо за видео

    • @the_parse_hub
      @the_parse_hub  10 місяців тому

      Я уже сам не понимаю, почему я сделал именно так)

    • @ПавлоБоднарчук-ф8ч
      @ПавлоБоднарчук-ф8ч 10 місяців тому

      тоже резало глаз, хотел написать, а потом твой комментарий увидел)

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

    Спасибо за видео.
    Как вы говорили, возможно эмулировать андройд,где можно ознакомиться с подобным функционалом,буду благодарен

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

      Спасибо! Насчет эмуляции можно подробнее почитать здесь:
      playwright.dev/python/docs/emulation

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

      @@the_parse_hub Как понимаю речь идёт только эмуляции браузера,а как парсить приложения для которых нет реализации в браузере

  • @АртемАфанасьев-щ9х

    Крутое видео, но почему ты xpath не пользуешься, например модно было находить имя продавца?

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

      Спасибо!
      Насчет xpath - это тоже не всегда панацея, но в данном случае я сделал это специально

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

    Добрый день, сделал все как на видео, но при нажатии на кнопку поиска вылезает капча. Ставил разную задержку, тайм слип и тд. Не помогает. В принципе, могу и без поиска обойтись, т.е. по прямой ссылке, но хочется все-таки с поиском. Как исправить?

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

      Почти все сайты дико не любят когда кто-то парсит результаты поиска, есть такой момент.
      Как это обойти в данном случае: для начала я бы установил какой-то нормальный юзерагент, если не поможет - попробуйте установить форк playwright, который по идее должен не палиться github.com/QIN2DIM/undetected-playwright
      Я его еще ни разу не устанавливал, так что с подсказать больше по нему ничего не смогу

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

    Погнали на джаве, напишешь парсер)))

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

      Даже интересно, получится ли это у питониста

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

      Что к чему?

  • @dicloniusN35
    @dicloniusN35 3 місяці тому

    Нифига непонятно как подниматься на элемент выше если parent() от найденого не работает а locator('..') выводит дичь какую то с фреймами которая не итерируется. В общем самое сложное из озона вытащить цену и увязать на товар

  • @rafaelrafael685
    @rafaelrafael685 9 місяців тому

    Борода.

  • @dmitrymorozov3038
    @dmitrymorozov3038 11 місяців тому +1

    может вместо enumerate просто срез сделать

  • @Crystal94Glass
    @Crystal94Glass 7 місяців тому

    На моменте, когда нужно вывести 5 ссылок отпал. Вроде хорошее знание python, но такой костыль.
    Вы собрали СПИСОК из ссылок, в чем проблема было сделать срез списка?
    for link in links[:5]
    Все.

    • @the_parse_hub
      @the_parse_hub  7 місяців тому

      Не Вы один это заметили)
      Косяк признаю, видимо у меня была мысль что-то сделать там еще или по-другому, хз, ничего уже не поменять

  • @Verse_Studio
    @Verse_Studio 5 місяців тому

    Здравствуй! А у тебя есть Дискорд сервер? Было бы хорошо и удобно спрашивать там вопросы по видео

    • @the_parse_hub
      @the_parse_hub  5 місяців тому

      нет, нету

    • @Verse_Studio
      @Verse_Studio 5 місяців тому

      @@the_parse_hub А вы планируете сделать?

    • @the_parse_hub
      @the_parse_hub  5 місяців тому

      @@Verse_Studio Пока нет, по возможности стараюсь отвечать в комментариях, на дискорд просто не хватит времени

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

    Что вы сделали, чтобы убрать лишние окна в IDE на 26:30? И ещё у меня postman не разрешает javascript, поэтому я не могу посмотреть ответ ozon. Как у вас получилось? Заранее спасибо за ответ

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

      Лишние окна в ide убрались на монтаже, никакой магии. А насчет postman, где там javascript? Мы просто посылаем какой-то запрос, не более этого

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

      @@the_parse_hub вы удалили комментарий?

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

    Подскажи как ты сохраняешь сессию пользователя при работе с библиотекой? куки в коде не используешь, но при запуске твой акк всегда остается автоматизированным, спасибо

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

      У меня в видео был открыт ozon в моём обычном Chrome, я там был залогинен и показывал примеры. А при запуске скрипта открывался другой Chrome, там я не авторизован.
      Но авторизация в playwright работает просто:
      # Сохранить
      storage = context.storage_state(path="state.json")
      # Загрузить
      context = browser.new_context(storage_state="state.json")

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

      @@the_parse_hub Работает!!!! :)

  • @djbenzin36
    @djbenzin36 8 місяців тому

    Интересно как он в плане оставления отпечатков, хочу автоматизировать одну весч, но за это банят) Пробовал на селениуме, через сутки забанили )

    • @the_parse_hub
      @the_parse_hub  8 місяців тому

      По отпечаткам тот же селениум. Лучше использовать форки undetected_chromedriver или undetected_playwright, ну и не забывать, что банить могут и по другим признакам, например один ip, слишком быстрые действия, работа 24х7 и т.д

    • @djbenzin36
      @djbenzin36 8 місяців тому

      @@the_parse_hub спасибо за совет

  • @ВладимирИвлиев-у3ъ

    Спасибо автору за отличные видео.
    Скажите, кто-нибудь пробовал парсить Яндекс маркет?
    Помогите, пожалуйста, советом у кого получилось обходить капчу(

  • @MarkusMuller-m5c
    @MarkusMuller-m5c Рік тому

    Здравствуйте, а будут видео по Pytest?

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

      В разработке курс по playwrite, pytest там тоже рассмотрим

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

    Привет. Подскажи может пропустил. Почему тебя не блочит клаудфлэр?

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

      Привет! Конкретно на Ozon проверка капчи cloudflare произойдет, если мы сделаем много действий за короткий промежуток времени

  • @БелгородскийКамнеобрабатывающи

    Добрый день.Благодарю за видео.Но почему то страница не загружается.Показывает что ошибок ноль и все, браузер не открывается.Что это может быть?

  • @user_alex_
    @user_alex_ 8 місяців тому

    Нашел press('Enter')

  • @IT_channel-py3nd
    @IT_channel-py3nd 6 місяців тому

    Добрый день! Можно ли создать такой парсер на сервере без графического интерфейса?

    • @the_parse_hub
      @the_parse_hub  6 місяців тому +1

      Имеется ввиду наверное не создать, а запустить. Можно, headless там есть

    • @IT_channel-py3nd
      @IT_channel-py3nd 6 місяців тому

      @@the_parse_hub Да, именно запустить. Понял, спасибо!

  • @ami_nolove
    @ami_nolove 7 місяців тому +1

    привет, напишешь мне парсер на озон? я бабки скину

    • @the_parse_hub
      @the_parse_hub  7 місяців тому

      Привет. Пиши на почту что конкретнее нужно. Почта в описании

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

    при запуске вылетает ошибка, Executable doesn't exist at AppData\Local\ms-playwright\chromium-1076\chrome-win\chrome с предложением запустить команду plawright install. нО это уже сделано было. порывшись в инете, народ пишет, что надо запустить установку npx plawrigth. но к сожалению, пишет что npx имя не распознано. Есть решение ?

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

      Не уверен, но возможно у Вас установлен playwright глобально и локально и он путается в версиях браузера. Попробуйте полностью его удалить и установить заново в виртуальном окружении

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

      ​@@the_parse_hub переустановка помогла, но теперь озон включает капчу после поиска

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

      @@nokeppivanoff4353 да, такое бывает

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

      @@the_parse_hubаха. так значит ваше видео тут бестолку, т.к. спарсить озон не получается, решений у вас нет. Блокировку обойти решения нет. Ну и смысл ?

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

      @@nokeppivanoff4353 аха, если Вы до сих пор не поняли, то я объясню: решения в парсинге не бывают вечными (особенно на таких сайтах как Авито, Ямаркет, Озон и пр.), а требуют постоянной доработки и изменений. Это постоянная игра в кошки-мышки.
      Также выходят новые версии библиотек, убираются одни методы, добавляются другие (как раз этот случай с Playwright).
      Именно поэтому разные компании, которые занимаются парсингом, продают как правило парсинг как услугу, а не как готовый продукт. Как-то так, надеюсь доступно объяснил

  • @asmr_codster
    @asmr_codster 8 місяців тому

    А если мне сразу озон выдаёт проверку на то человек ли я и потом ошибку ВПН выдаёт, то что делать тогда ? 14:35

    • @the_parse_hub
      @the_parse_hub  8 місяців тому

      Озону не нравится парсинг. Попробуйте увеличить паузы в скрипте, месяц назад это помогло, но на самом деле нужно искать другие способы парсинга - этот слишком нестабильный

    • @asmr_codster
      @asmr_codster 8 місяців тому

      @@the_parse_hub да помогло запускать браузер с одним дополнительным аргументом и дальше по видео повторилось все легко

    • @the_parse_hub
      @the_parse_hub  8 місяців тому

      @@asmr_codster вот и отлично

    • @СаидАбакаров-л7ш
      @СаидАбакаров-л7ш 7 місяців тому

      @@asmr_codster не подскажите что добавиили?

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

    Чтобы селениум не блочили нужны танцы с бубнами.

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

      нужно всего-лишь установить stealth или undetected_chromedriver, вот и все танцы

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

      @@the_parse_hub к сожалению есть абсолютно злые сайты и это не поможет

    • @МишаПароходов
      @МишаПароходов Рік тому

      @@the_parse_hub не помогает ни stealth, ни undetected_chrome. Cloudflare срабатывает сразу на старте страницы, никаких действий еще не сделал. А undetected_chrome перестал проходить какие-либо защиты еще пару недель назад, до этого cloudflare обходил исправно.
      UPD: после корректировки аргументов, селениум stealth обходит cloudflare при старте страницы.

  • @rucat284
    @rucat284 9 місяців тому

    ozon уже не попарсишь

    • @the_parse_hub
      @the_parse_hub  9 місяців тому

      Таким способом - скорее всего уже не получится. Но вообще спарсить можно всё - весь вопрос в доступных ресурсах

  • @devracoon
    @devracoon 10 місяців тому

    Зачем парсить хтмл если можно слушать сеть и поймать запрос к апи и парсить удобный json?

  • @andreylisogor3532
    @andreylisogor3532 8 місяців тому

    Подскажите, можно им парсить инстаграм? Использую selenium и bs4 для парсинга количествоюа подписчиков. Но сайт меня блочит через не которое количество повторений

    • @the_parse_hub
      @the_parse_hub  8 місяців тому +1

      Для парсинга защищенных сайтов используйте лучше undetected_playwright, ну и не забывайте, что банить сайты могут и по поведению