Парсинг магазина на Python (с нуля)

  Рет қаралды 66,615

IT каждый день

IT каждый день

Күн бұрын

Пікірлер: 125
@АртемМолодов-в6в
@АртемМолодов-в6в 4 жыл бұрын
Очень качественно, пошёл переписывать свои поделки БАН - чтобы не получить БАН имитируйте задержки паузами в выполнении, да и желательно не только браузер в загаловках передавать, но и прочие атрибуты сессии на вашей цели
@it_everyday
@it_everyday 4 жыл бұрын
00:00 Начало 00:45 Установка Python 01:07 Установка пакетов 04:40 Настройка PyCharm 06:31 Начинаем писать код 07:42 Получить user-agent страницы 08:20 Скачиваем одну страницу сайта 09:30 Парсим страницу 14:07 Парсим карточки товара с Wildberries 15:20 Как устроена карточка товара 17:01 Проверка ссылок 17:18 Парсим названия 19:37 Собираем всё вместе 21:19 Сохраним результаты парсинга в csv 24:50 Демонстрация результата
@Keefear
@Keefear 3 жыл бұрын
Спасибо большое за помощь в получении знаний по парсингу .
@roman-pol
@roman-pol 4 жыл бұрын
Спасибо! Всё круто и профессионально! Заценил использование логирования и классов
@xvostov_k
@xvostov_k 3 жыл бұрын
Спасибо, шикарная подача материала
@greml1nes
@greml1nes 4 жыл бұрын
В следующих видео дописать перебор страниц (тут нет общего кол-ва как в авито), и парсинг инфы с самого товара
@greml1nes
@greml1nes 4 жыл бұрын
Перебор делается просто: (общее число товара/100) +1 = колво страниц, далее как из видео про авито. А вот искреннюю попа-боль у меня вызвало парсинг "Купили более 1000 раз", так и не понял как парсить, нагуглил selenium, им наверное получится, но пока не разобрался как.
@_ich8599
@_ich8599 4 жыл бұрын
@@greml1nes Получилось разобраться, как парсить "Купили более 1000 раз" и "Процент довольных качеством: 100%" ???
@greml1nes
@greml1nes 4 жыл бұрын
@@_ich8599 неа :( Пока знаний не хватат
@_ich8599
@_ich8599 4 жыл бұрын
Будем надеяться, что автор обратит внимание на коментарии.
@mykolavarvarchuk937
@mykolavarvarchuk937 3 жыл бұрын
Спасибо за отлично поданную информацию!
@BinaryCat
@BinaryCat 4 жыл бұрын
Видео ролики и материал супер. Может снять отдельно короткие как настраивать рабочее окружение и обычная работа с Python, где искать пакеты, как устанавливать и после делать отсылки на них?
@it_everyday
@it_everyday 4 жыл бұрын
разве первые 5 минут ролика не про это?
@asselnurpeissova2789
@asselnurpeissova2789 Жыл бұрын
Доброго времени суток! У меня вышла в начале проверки ошибка NameError: name '_name_' is not defined, подскажите как исправить? Буду благодарна за быстрый ответ) а еще я пытаюсь спарсить на jupyter notebook
@ВладЦибульский-в7о
@ВладЦибульский-в7о 3 жыл бұрын
Спасибо все понятно
@johngalt7525
@johngalt7525 4 жыл бұрын
Ждём-с стрим)
@АлексейВолжанкин-ф5д
@АлексейВолжанкин-ф5д 2 жыл бұрын
Сегодня писал комент. Но он почему то не отобразился. Видео хорошее, но как уже говорилось у меняна 14 минуте кроме класс 0 не отображается ничего и на 17 минуте так же. Видел ответ, что стоит защита. Можно ли ее обойти? И как парсить, если не выдается результат? В видео защиты не было что ли?
@delay_gryaz_chisto
@delay_gryaz_chisto 4 жыл бұрын
22:00 писать полный путь до файла не очень хорошо, ибо на другом компьютере ваша программа возможно работать не будет(из-за конфликта имен). для этого нужно использовать метод getcwd модуля os. да и в целом в этом нет нужды. файл и так создастся рядом с запущенной программой.
@mishanegr
@mishanegr 4 жыл бұрын
так а зачем на другом компьютере? загрузить код на сервер и папку с файлами тоже, и все
@delay_gryaz_chisto
@delay_gryaz_chisto 4 жыл бұрын
@@mishanegr на сервере у тебя может не быть такого пути как /Users/Vladimir/ и тд все это грамотнее заменить на os.path.join(os.getcwd(), 'final' ,'results.csv'). а дальше у тебя питон сам сделает нужные пути. например, если ты запустишь на винде это, то пути будут:
C:\Users\User\project\final esults.csv а на линуке будет: /home/Ubuntu/project/final/results.csv и перед тем, как заливаешь на сервер не нужно будет ничего менять. модуль os сам сложит нужный путь и подставил нужные разделители папок(‘\’ в винде, ‘/‘ в маке и линуксе). за счет данного шага твоя программа получается кроссплатформенная. ничего не сломается, если перенесешь ее хоть на микроволновку(утрирую). Вове респект. просто мне кажется, если учить кого-то, то делать это правильнее изначально(чтобы кому-то потом не было больно).
@mishanegr
@mishanegr 4 жыл бұрын
@@delay_gryaz_chisto так можно не писать users, а только путь с корневого каталога проекта, то бишь project\final esults.csv, разве нет, или это только при чтении файлов?
@delay_gryaz_chisto
@delay_gryaz_chisto 4 жыл бұрын
@@mishanegr ты реально не понимаешь, что можно один раз написать и НИЧЕГО НИКОГДА не менять? на любой компьютере запуская.
@oldudot6940
@oldudot6940 4 жыл бұрын
Спасибо!
@АленаБалаганская-ж7к
@АленаБалаганская-ж7к 2 жыл бұрын
Похоже, мне надо не с 0, а с -1.
@valdemar8505
@valdemar8505 2 жыл бұрын
здравствуйте. возможно ли создать парсер, который из корзины заказов wb будет брать название заказа, артикул, фото и количество товара? и все это выводить в гугл таблицы. и чтобы парсило автоматически несколько раз в день. спасибо
@mihaylov13
@mihaylov13 3 жыл бұрын
А как заходить в карточку товара и брать там характеристики и прочие свойства?
@bugsbunny4252
@bugsbunny4252 2 жыл бұрын
А как можно спарсить контент или содержимое, допустим новости в списке, на примере новостного парсера, написанного на python? Срочно помогите.
@СаняПушкин-ц4о
@СаняПушкин-ц4о 3 жыл бұрын
на 11:26 ссылка не полная написана а потом уже целиком везде идет ??? что за магия у меня также пол ссылки и парсится также ? как сделать чтобы целиком показывало?
@alexwake927
@alexwake927 4 жыл бұрын
Крутой контент, но что за склейка на 20 минуте и откуда появляется result ? заступорился на этом моменте
@it_everyday
@it_everyday 4 жыл бұрын
это были проблемы при записи и монтаже. но сам "result" был создан раньше, где-то на 14-15 минуте
@alexwake927
@alexwake927 4 жыл бұрын
@@it_everyday Спасибо за ответ! Я невнимательный) очень классные уроки, подписка однозначно!
@_windthebest_7529
@_windthebest_7529 3 жыл бұрын
Не верю уже что мне кто-то поможет,но. Как парсить страницу поиска того же валдберис, если там все догружается?
@danuual-games6896
@danuual-games6896 3 жыл бұрын
Cannot create file 'C:\Users\Пользователь\Desktop\parsing\wb\gs.csv При создании файла.csv - он не создается (Windows 10 Pro) С чем может быть связанна ошибка?
@it_everyday
@it_everyday 3 жыл бұрын
Не знаю, я не использую Windows. Попробуй продебажить создание файла.
@-python6059
@-python6059 3 жыл бұрын
У меня постоянно ошибку выдаёт, связанная с отступами. Отступы вроде нормальные.
@kandreyk9159
@kandreyk9159 4 жыл бұрын
Содержательно 👍 "Тюпл" немного слух режет
@ЮсупМирзаев-т5и
@ЮсупМирзаев-т5и 3 жыл бұрын
Почему при проверки на 13:58 у меня нету ничего просто "Process finished with exit code 0" и все
@ez9723
@ez9723 3 жыл бұрын
тоже самое
@kirillkv90
@kirillkv90 3 жыл бұрын
Защита стоит, у меня тоже ничего не загружает, на других сайтах работает, а на том что мне нужен нет
@feelmylife152
@feelmylife152 4 жыл бұрын
Спасибо. Все супер, и многое понятно. А будет парсинг мульпроцес+асинхнор?)))
@-SunnyWild-
@-SunnyWild- 3 жыл бұрын
Врядли
@kayuttv8231
@kayuttv8231 2 жыл бұрын
Что за шрифт и тема цветовая скажите пж
@4987abc
@4987abc 2 жыл бұрын
python3.10 -V SyntaxError: invalid syntax В чем проблема?
@borockov
@borockov 2 жыл бұрын
wb перешли на asp, селениум в помощь
@СергейШепелев-л5в
@СергейШепелев-л5в 4 жыл бұрын
Добрый день! Несколько моментов, которые у меня получились не так, как у Вас: 1. Результаты выводятся через одну пустую строку. 2. В режиме просмотра в PyCharm текст вместо кириллицы выдает ромб с восклицательным знаком внутри. Как исправить эти ошибки? И еще хотелось бы узнать о пагинации, что нужно добавить в данный код, что бы парсинг был и на других страницах. Спасибо.
@alekseydrv
@alekseydrv 3 жыл бұрын
Спустя 7 месяцев, но возможно кому-то пригодится: для того, чтобы в csv не было пустых строк нужно добавить параметр newline="" with open(path, 'w', newline='') as f:
@qtew6219
@qtew6219 2 жыл бұрын
@@alekseydrv спустя еще 10, чтобы избежать кирилицу на винде, пишем encoding = 'UTF-8'
@GROBIK666
@GROBIK666 4 жыл бұрын
Почему у тебя ссылки полноценные, а у меня со срезом сайта? Т.е. начиная с /catalo/... Где-то я что-то пропустил, но найти не смог.
@GROBIK666
@GROBIK666 4 жыл бұрын
Такой я глупый, потому что у тебя ссылки целые, а на моем сайте обрезан домен)
@ВладиславСоколов-ж8ы
@ВладиславСоколов-ж8ы 2 жыл бұрын
У меня на 14 минуте видео во время теста пишет Process finished with exit code 0. Может кто знает как исправить?
@it_everyday
@it_everyday 2 жыл бұрын
"exit code 0" -- это не ошибка, это нормальное завершение любой программы. возможно ты забыл написать __main__, проверь всё с начала!
@Alukard_Petrovich
@Alukard_Petrovich Жыл бұрын
На данный момент WB не парсится через requests
@iFosteks
@iFosteks 11 ай бұрын
а как тогда? pandas?
@i.bunkov
@i.bunkov 2 жыл бұрын
Бро ты молодец, но что делать если ничего не понятно, а ты строчишь эти команды, методы как с пулемета ничего не обьясняя откуда и зачем ты это вообще вставил. С таким успехом можно было просто скинуть готовый скрипт да и все....
@BpaTa2
@BpaTa2 4 жыл бұрын
Хотелось бы узнать: зачем вы передаете аргументы в функции через равно? То есть: url=url, а не просто url?
@platoyando3978
@platoyando3978 4 жыл бұрын
Ответ поздний, но все же. Это не обязательно, но иногда важно: если не указать, какой аргумент мы указываем, то питон зачтет его за самый первый. Если же в библиотеке он стоит на другом месте, то единственный выход - указать, что передаем мы именно его То есть если у нас есть def func(x, y, z) и мы напишем func(4), то 4 станет именно x, если нам нужно по другому, то пишем func(y=4)
@svetalin_v
@svetalin_v 4 жыл бұрын
Привет всем, столкнулась с проблемой, в эксель записывает одной колонкой и все слепленое между собой. Скорее всего я невнимательная и что то пропустила. Но может есть у кого такая проблема, то помогите.
@it_everyday
@it_everyday 4 жыл бұрын
Нужно настроить в экселе «разделитель». Указать там точно то, что в коде.
@svetalin_v
@svetalin_v 4 жыл бұрын
@@it_everyday спасибо, а то я уже код вдоль и поперек пересмотрела
@trahula
@trahula 2 жыл бұрын
Интересно, конечно, но у меня не работает. Не знаю что я не так делаю, у меня просто ничего не возвращает. Ни ошибок, ни информации.
@moldirmakhamadiyeva4590
@moldirmakhamadiyeva4590 2 жыл бұрын
Точно такая же ситуация
@Andrey-kf6yy
@Andrey-kf6yy 2 жыл бұрын
​@@moldirmakhamadiyeva4590 уже не актуально видимо. в файле только Бренд,Товар,Ссылка создает, а INFO:wb: Получили 0 элементов пишет
@sashaty
@sashaty 4 жыл бұрын
Подскажите,а как спарсить все товары,если на сайте установлена прокрутка вниз?
@it_everyday
@it_everyday 4 жыл бұрын
Изучать Selenium, внедрять его
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
Я спарсил ссылки на товары, но у меня зачесалось узнать, мы используем одну ссылку чтобы получить доступ к блокам и через какие-то манипуляции вытаскиваем от-туда к примеру цену, название и т.д. а как мать его вставить много ссылок которые мы спарсили и уже с этих "миллионов" вытащить к примеру развернутое описание товара?
@it_everyday
@it_everyday 4 жыл бұрын
Всё так же) делать пул обработчиков, использовать многопоточность
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
@@it_everyday Я надеюсь, видос на эту тему планируется)
@lagger0k
@lagger0k 4 жыл бұрын
Попробовал сделать, подобный для Lamoda и получил бан((( как теперь быть? Разбанят ли через-какое то время?
@squirrel-d1z
@squirrel-d1z 4 жыл бұрын
Использовать бесплатные прокси если разовый парсинг. Если регулярный, то рекомендовал бы покупные и несколько, использовать в ротации не допуская бана.
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
Подскажите, как авторизоваться на сайте и спарсить от туда инфу?
@it_everyday
@it_everyday 4 жыл бұрын
Дёрнуть губный метод для авторизации, сохранить куки/сессию, передавать их в следующих запросах. Но для этого придётся посидеть, разобраться как устроен конкретный сайт
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
@@it_everyday я посидел посмотрел, данные передаются form data. Я просто смотрел там где вы брали агента, там в самом низу всех этих данных, во время авторизации появляется form data ну и там прямым текстом 'логин, пароль'
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
@@it_everyday Мозг взрывается... только только начал вникать в тему, но очень понравилось какие возможности открываются уже даже при изучении.
@СергейДОБРЫЙ-п7ъ
@СергейДОБРЫЙ-п7ъ 3 жыл бұрын
@@Dmitriy_Sentinel Например? Поделись, если есть мысли по заработку.
@СергейДОБРЫЙ-п7ъ
@СергейДОБРЫЙ-п7ъ 3 жыл бұрын
Привет. А как заработать на таком парсере? Приведите примеры пожалуйста.
@КоляРадул
@КоляРадул 3 жыл бұрын
Заработать можно только на том, что вы пишете боты под заказ для какой-то компании или фирмы В ботов нету такого понятия как реклама или по типу рекомендации на подписки ( в некоторых случаях это можно сделать, но опять же нужна аудитория ) Можно создавать своих ботов под сайты типа продаж авиабилетов ( то есть отслеживать цену конкретного рейса и когда цена на билет падает - бот присылает сообщение об этом) Всё ограничевается только вашей фантазией.
@it_everyday
@it_everyday 3 жыл бұрын
Записать видео о парсере и получить три копейки с показов рекламы))
@astrokaterinka
@astrokaterinka 4 жыл бұрын
Не совсем понял, как скачать библиотеки
@BinaryCat
@BinaryCat 4 жыл бұрын
Встроенной в Python утилитой pip install -U [название библиотеки]. Главное иметь прямой доступ в интернет без прокси серверов (Часто используют прокси сервер например: на работе, кафе).
@astrokaterinka
@astrokaterinka 4 жыл бұрын
@@BinaryCat на винде так же пускается из терминала админа?
@BinaryCat
@BinaryCat 4 жыл бұрын
@@astrokaterinka да, только не терминал, а командная строка. Если в командной строке ввести python -V и покажет версию программы, тогда можно свободно набирать pip install -U [название пакета], а когда освоитесь с этим, потом можно будет переустановить python или удалить лишние пакеты и учиться использовать виртуальные среды в самом python, там тоже ничего сложного, только знать какие команды писать в командной строке. :) Программирование это практика, то есть надо садиться и пробовать и экспериментировать.
@АртемМолодов-в6в
@АртемМолодов-в6в 4 жыл бұрын
В PyChar можно в настройках проекта рядом с выбором интерпритатора выбрать необходимые пакеты и установить нажатием кнопки Pakage install, если с консолью проблемы
@andreyandrey4348
@andreyandrey4348 Жыл бұрын
не работает код
@НеопознанныйТреугольник
@НеопознанныйТреугольник 4 жыл бұрын
Не получилось ничего😞
@it_everyday
@it_everyday 4 жыл бұрын
Сочувствую
@СергейДОБРЫЙ-п7ъ
@СергейДОБРЫЙ-п7ъ 3 жыл бұрын
Скорее становись "известным квадратом" и снова пробуй, и снова пробуй, и снова...
@ИгорьКузнецов-т8р
@ИгорьКузнецов-т8р 4 жыл бұрын
А как спарсить изображение с сайта?
@it_everyday
@it_everyday 4 жыл бұрын
точно так же. в чём разница? видишь ссылку -- скачивай, клади в папку
@СаняПушкин-ц4о
@СаняПушкин-ц4о 3 жыл бұрын
Не могу убрать слэш) AttributeError: 'str' object has no attribute 'replase'
@it_everyday
@it_everyday 3 жыл бұрын
Опечатка в функции replace
@СаняПушкин-ц4о
@СаняПушкин-ц4о 3 жыл бұрын
@@it_everyday блин как так то )))
@СаняПушкин-ц4о
@СаняПушкин-ц4о 3 жыл бұрын
@@it_everyday пол часа голову ломал в итоге забил )
@appatichno
@appatichno 4 жыл бұрын
Не мог установить лхмл, забил и сделал все на робот фреимворке
@it_everyday
@it_everyday 4 жыл бұрын
Молодец
@MajinTorankusu
@MajinTorankusu 3 жыл бұрын
Ниху9 не понятно (((
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
4:50 ГДЕ БЛИН ТЫ РАНЬШЕ БЫЛ!?
@it_everyday
@it_everyday 4 жыл бұрын
Хаха
@andy_top6676
@andy_top6676 4 жыл бұрын
А почему используете ООП, а не просто функции?
@it_everyday
@it_everyday 4 жыл бұрын
Для демонстрации возможностей. А вообще так получается более читабельный код, и проще тестировать
@undefined-channel
@undefined-channel 4 жыл бұрын
Хорошо, конечно, но зачем по-слогам говорить-то?) На 2х смотреть приходится)
@it_everyday
@it_everyday 4 жыл бұрын
Всем не угодишь
@СергейДОБРЫЙ-п7ъ
@СергейДОБРЫЙ-п7ъ 3 жыл бұрын
Кампутерщики, они загадочные люди))
@ОлегРумынский-у6щ
@ОлегРумынский-у6щ 4 жыл бұрын
Привет, нужен следующий функционал: отслеживание цены в онлайне, через авторизованного пользователя (дабы действовала скидка и промокоды) до заданого минимума и при достижение онного уведомляло в телегу, желательно. Поиски привили под это видео, может кто подсказать куда копать, вариант ли подобное реализовать самому без знаний (за какой срок) или все же проще заплатить ? хоть сам процесс очень интересен.
@ukrainian333
@ukrainian333 4 жыл бұрын
МОЁ ИМХО: При очень усердном обучении нужно минимум 3-6 месяцев (если с нуля).. это чтобы кое-как написать (наговнокодить), и еще и поддерживать в дальнейшем.. Опять же - нужно знать больше деталей о самом проекте, ведь вы рассматриваете его с точки зрения функционала для пользователя, с точки зрения программиста там может быть овердохрена ограничений (авторизация, мониторинг, API выбранного вами сервиса), и вы попадете не только на деньги, но и на время ... Если вам нужно это в виде собственного сервиса, который бы работал круглосуточно, и т.д... то придется вникать еще и в работу вебхуков, серверов и т.д.. поэтому при отсутствии базовых знаний путь обучения точно не для вас, тем более если сервис нужен здесь и сейчас под работающий проект. Бизнес не терпит отлагательств, не успели - потеряли клиентов или деньги. Поэтому лучше заплатить и использовать.. конечно при условии что программист толковый, и разберется в задаче.
@JuJuVoodoo6
@JuJuVoodoo6 4 жыл бұрын
Напиши мне в телеге jujumishka, мне тоже нужен такой бот, скинемся) пока нашла одного программера
@СергейДОБРЫЙ-п7ъ
@СергейДОБРЫЙ-п7ъ 3 жыл бұрын
@@JuJuVoodoo6 Привет. Поделись пожалуйста, как заработать на таком боте?
@МаксимВласкин
@МаксимВласкин 4 жыл бұрын
+
@pigen9733
@pigen9733 Жыл бұрын
ООП лишние тут...
@justjohn9832
@justjohn9832 4 жыл бұрын
Всё круто. Но просьба не дышать в микрофон и говорить не так, будто в соседней комнате спит мама
@wanwight5593
@wanwight5593 2 жыл бұрын
дышишь в микрофон, не делай так плиз
Простой парсинг сайтов на Python | requests, BeautifulSoup, csv
1:11:50
Андрей Андриевский
Рет қаралды 135 М.
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 62 М.
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 9 МЛН
Python-стрим: работа, парсинг, etc
52:31
IT каждый день
Рет қаралды 3,5 М.
Парсинг сайта Avito с помощью Python (с нуля)
29:32
IT каждый день
Рет қаралды 53 М.
Django - дорабатываем парсер Avito на Python
1:44:22
IT каждый день
Рет қаралды 4,9 М.
Декораторы для Telegram-бота на Python
27:27
IT каждый день
Рет қаралды 6 М.
Django-админка для парсера Avito на Python
43:19
IT каждый день
Рет қаралды 19 М.