Безлимитный парсинг на python | Бесплатная альтернатива прокси [Upper Junior]

Поделиться
HTML-код
  • Опубликовано: 5 июн 2024
  • 👉 Telegram: t.me/pavlin_share
    Регистрация в AWS + IAM - habr.com/ru/articles/748276/
    Пример кода (мой ответ на StackOverflow) - stackoverflow.com/questions/3...
    🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔
    0:00 Вступеление и проблема
    4:19 Пример проблемного кода
    5:45 Решение
  • НаукаНаука

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

  • @nikolaypavlin
    @nikolaypavlin  4 месяца назад +5

    Сделал асинхронную реализацию этого подхода, выложил в телеграмм канал, в виде github gist
    t.me/pavlin_share/63
    Если будут лайки, сделаю отдельный пакет и выложим на pypi

  • @negonifas
    @negonifas 3 месяца назад +4

    Как "лектор" - очень вы хороши, прям мой формат.
    Спасибо, всяческих вам удач

  • @nikulin7944
    @nikulin7944 4 месяца назад +1

    Спасибо! Полезно и годно! 🔥

  • @whosane9923
    @whosane9923 4 месяца назад +1

    Мое почтение ))) Так вовремя

  • @LepriKon17
    @LepriKon17 4 месяца назад

    Забавно, мне это очень нужно сегодня, а ты выложил вчера . thx

  • @ManticoreRoko
    @ManticoreRoko 4 месяца назад +9

    Класс! Разбери Scrapy на парсинге большого кол-ва данных, будет очень интересно. Удачи

  • @VS-xn5dt
    @VS-xn5dt 2 месяца назад

    Это просто круто! Спасибо это то что нужно! Вот это хак.

  • @negonifas
    @negonifas 3 месяца назад

    ...и конечно увидеть разбор по "Scrapy" очень бы...
    Спасибо.

  • @user-fb6pz3ul5x
    @user-fb6pz3ul5x 4 месяца назад

    Добрый день! Спасибо за познавательное видео. Один вопрос, в описании библиотеки "requests-ip-rotator" есть упоминание о том, что запросы с AWS легко идентифицируются, поскольку они отправляются с уникальными заголовками AWS. Такую проблему можно как-то решить?

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Думаю, что нет, тк проставляет AWS, но в моем кейсе гугл на это не ругался

  • @FeelUs
    @FeelUs 4 месяца назад

    Очень полезно! А как через cloudflare пройти через requests, вы не знаете? Я решил через selenium, но там такая же проблема - один ip. Может можно подход из этого видео распространить на selenium (по сути весь компьютер).

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      По сути надо самостоятельно реализовать метод send (56 строка) отсюда и подкинуть это в драйвер селениума логику
      github.com/Ge0rg3/requests-ip-rotator/blob/main/requests_ip_rotator/ip_rotator.py
      По факту, надо просто ходить не по заготовленной ссылке, а через эндпоинт предоставленный в AWS (строка 58 + 62)

  • @Katar1x
    @Katar1x 4 месяца назад

    Можно ли использовать асинхронные библиотеки (httpx/aiohttp) с aws айпишками? Чтобы в разы ускорить код или это работает только с requests ip rotator?

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Именно в этом пакете нет, выложил в телегу пример кода, который это позволит сделать
      t.me/pavlin_share/63

  • @jt102
    @jt102 4 месяца назад

    можно ли задать IP range из определенного региона? какой там принцип вообще выбора IP?

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Выбор региона AWS есть, например, так ApiGateway("1.1.1.1:8080", regions=["eu-west-1", "eu-west-2"])
      IP рандомный из gateway-я региона

  • @stanislavb.4161
    @stanislavb.4161 4 месяца назад

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

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад +1

      Лови в телеге - t.me/pavlin_share/63

  • @qweqweqweqweqweqweqweqw
    @qweqweqweqweqweqweqweqw 4 месяца назад +1

    Очень интересное решение ! Не знал, что AWS дает такую возможность. И самое - сколько мы еще не знаем из таких фишек будь ты даже с опытом 2-3 года). Спасибо, сделал подписку, жду еще хитрых решений. Было бы весьма интересно изучить момент с cloudflare они не всегда дают спарсить данные, видел решение, через tls соединение. Не хотели бы в будущем выложить ролик ? Думаю, проблема очень важная сейчас

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Не было необходимости пока с ресурсами за cloudflare парсить, так что сходу решения нет
      В целом думаю 99.9% ресурсов работает с TLS, т.е. по https
      Поделишься тем решеним? Посмотрел бы о чем ты говоришь

    • @rafaelrafael685
      @rafaelrafael685 3 месяца назад

      Zennoposter решает с cloudflare

    • @negonifas
      @negonifas 3 месяца назад

      .. с опытом ДВА-ТРИ ГОДА!!! 😂😂😂

  • @vitproff2
    @vitproff2 3 месяца назад

    А как это можно использовать в браузере для входа на нужный сайт так чтобы время от времени менялись IP AWS ?

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад

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

  • @purgalimited
    @purgalimited 4 месяца назад

    ИНтересно, спасибо

  • @hsqlk
    @hsqlk 2 месяца назад +1

    А если у сайта стоит защита, явно request не поможет. Это работает для Selenium?

    • @nikolaypavlin
      @nikolaypavlin  2 месяца назад

      Смотря какая защита и на основе чего она работает

    • @nikolaypavlin
      @nikolaypavlin  2 месяца назад

      Принцип работает для всех запросов, надо только корректно их проксировать

  • @firstlast493
    @firstlast493 3 месяца назад

    4:20 Как ставить брекпоинты прямо на номерах строк?

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад

      Левой кнопкой мыши на строке (где написан номер строки, т.е. чуть левее редактора самого) достаточно нажать
      Pycharm платный, если что

  • @norman_p3
    @norman_p3 4 месяца назад

    Мистер Robot ты ли это ? )

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад +1

      Еще одно новое сравнение, скидывай ссылку на фото, аха

    • @norman_p3
      @norman_p3 4 месяца назад

      @@nikolaypavlin d32qys9a6wm9no.cloudfront.net/images/tvs/poster/50/9a678733d359925a00e1fbe5e9eb4edf_300x442.jpg?t=1636102095

  • @user-hs6lj9zt4p
    @user-hs6lj9zt4p 4 месяца назад

    Николай, а можно изучить парсинг и самому искать заказы?, тока не предлагайте фриланс с конкурентами-индусами ....

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Мне кажется, что "самому искать заказы" можно как раз и назвать фрилансом
      Если придумывать, как заработать на парсинге, то у меня была когда-то идея сделать no-code платформу для создания условий для парсинга
      Если не смотреть на разработку продукта и не фриланс, то идти от обратного, спарсить что-то (предварительно поняв, что спрос на это есть) и потом продавать эти данные
      Мне кажется, что все варианты подхода к этому вопросу разобрал

    • @user-hs6lj9zt4p
      @user-hs6lj9zt4p 4 месяца назад

      @@nikolaypavlin угу, спс , с меня подписка и лайк ))

    • @mdwit
      @mdwit 4 месяца назад

      я сделал неофициальные API для сервисов которые паршу и продаю доступ с подпиской)
      У этих сервисов не было API, а спрос оказался высоким

    • @user-hs6lj9zt4p
      @user-hs6lj9zt4p 4 месяца назад +1

      @@mdwit т.е. вы предоставляете бизнесменам какую-то вебстраничку, в которой можно на выбор парсить по каким то критериям что то. Обычно бизнес интересуют крупные игроки, на них они равняются и редактируют свои цены. Я не думаю, что вам удалось что то серьёзное сделать. Это задача коллектива..

    • @mdwit
      @mdwit 4 месяца назад

      ​@@user-hs6lj9zt4p моими сервисами пользуются такие компании как газпром, стс, винк, всех перечислять нет смысла, моими сервисами пользуются 10 тыс клиентов
      Им выгоднее пойти ко мне, чем к тому, кого я паршу, потому что те просят миллионы

  • @alexxlub
    @alexxlub 3 месяца назад

    Не дает зарегится на AWS. В настоящее время AWS не поддерживает создание новых учетных записей из России или Беларуси. А так хорошая тема обхода Cloudflare

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад +1

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

    • @alexxlub
      @alexxlub 3 месяца назад

      @@nikolaypavlin Спасибо, лайк и подписка. У Вас хорошо получается!

    • @user-wc2vh2mv9f
      @user-wc2vh2mv9f 3 месяца назад

      @@nikolaypavlin не решит для регистрации нужно данные банковской карты

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад +1

      В телеге писал, как я оплачиваю
      t.me/pavlin_share/64

    • @alexxlub
      @alexxlub 3 месяца назад

      @@user-wc2vh2mv9f А если за меня сделает регистрацию человек из-за бугра, а потом даст ключи?

  • @rafaelrafael685
    @rafaelrafael685 3 месяца назад

    То есть получение инфы из открытого источника не до конца законно? Это как? Теперь на сайты заходить нельзя что ли? Вы это серьёзно? А можно ссылки на юр обоснование?

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад

      Регулируется CFAA, но там, действительно, большинство регуляторных ограничений направлено на условия пользовательских соглашений между сервисом и пользователем, а так же как агрессивно ты эти данные собираешь

  • @muhlymak
    @muhlymak 4 месяца назад

    с такой задержкой как на видео проще поставить sleep и не ловить 429 😁

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад +2

      Не, там оверхед на поднятие gateway где-то секунд 5, а потом это просто скорость ответа авито.
      Тем более можно это в несколько потоков пустить + ip каждый раз новый

  • @Burburbirbur
    @Burburbirbur 4 месяца назад

    Почини ссылку на хабр)

  • @DreamingDolphing
    @DreamingDolphing 4 месяца назад

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

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад +1

      Скорее всего это правда, я нашел несколько законов (про охрану БД и данных компании), но, ожидаемо, там все расплывчето и абстрактно
      Но точню помню, что были суды по этому поводу и побеждали ребята, кого парсили

    • @girfjordan
      @girfjordan 3 месяца назад

      Парсеринг, это взятие открытой ПУБЛИЧНОЙ информации, естественно это законно

    • @DreamingDolphing
      @DreamingDolphing 3 месяца назад

      @@girfjordan Я именно это и написал

    • @girfjordan
      @girfjordan 3 месяца назад

      @@DreamingDolphing отвечал @nikolaypavlin про суды

  • @mdwit
    @mdwit 4 месяца назад

    Я знаю как парсить еще проще, быстрее и без санкций, но я об этом вам не расскажу, потому что я зарабатываю этим)

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

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

    • @mdwit
      @mdwit 4 месяца назад

      ​@@nikolaypavlin Откомментил)

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Крутое решение, ссылкой поделишься, где можно купить/подписаться?

    • @mdwit
      @mdwit 4 месяца назад

      @@nikolaypavlin kinopoisk dev как пример, один из основных моих продуктов

    • @mdwit
      @mdwit 4 месяца назад

      ​@@nikolaypavlin kinopoisk dev один из основных моих продуктов

  • @whosane9923
    @whosane9923 4 месяца назад

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

    • @nikolaypavlin
      @nikolaypavlin  4 месяца назад

      Мне кажется, что у меня моя УЗ из РФ, но могу ошибаться и новорегам надо прикидываться из других стран

  • @negonifas
    @negonifas 3 месяца назад

    А с cloud.yandex так же получиться? 🤔

    • @nikolaypavlin
      @nikolaypavlin  3 месяца назад +1

      В телеге отвечал, получится может, но надо писать свое