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

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

IT каждый день

IT каждый день

Күн бұрын

В этом видео продолжим разбирать парсинг сайтов на Python. В этот раз мы рассмотрим в качестве примера сайт интернет-магазина Wildberries. Я покажу как с нуля установить Python и настроить всё необходимое для разработки парсера. А полученные результаты парсинга мы запишем в csv-файл. А что парсите вы?
Установить Python 3: www.python.org/downloads/
Купить исходный код: / 36667473
Наш Telegram-канал: t.me/it_everyday
#python #parsing #ityoutubersru
-------------------------------------
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 Демонстрация результата

Пікірлер: 125
@Keefear
@Keefear 3 жыл бұрын
Спасибо большое за помощь в получении знаний по парсингу .
@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 Демонстрация результата
@xvostov_k
@xvostov_k 2 жыл бұрын
Спасибо, шикарная подача материала
@user-us1rk4bl5r
@user-us1rk4bl5r 3 жыл бұрын
Очень качественно, пошёл переписывать свои поделки БАН - чтобы не получить БАН имитируйте задержки паузами в выполнении, да и желательно не только браузер в загаловках передавать, но и прочие атрибуты сессии на вашей цели
@user-hr2lf6ui7z
@user-hr2lf6ui7z 4 жыл бұрын
Спасибо! Всё круто и профессионально! Заценил использование логирования и классов
@mykolavarvarchuk937
@mykolavarvarchuk937 3 жыл бұрын
Спасибо за отлично поданную информацию!
@johngalt7525
@johngalt7525 4 жыл бұрын
Ждём-с стрим)
@oldudot6940
@oldudot6940 4 жыл бұрын
Спасибо!
@user-ie8rh4iy5g
@user-ie8rh4iy5g 3 жыл бұрын
Спасибо все понятно
@kandreyk9159
@kandreyk9159 4 жыл бұрын
Содержательно 👍 "Тюпл" немного слух режет
@BinaryCat
@BinaryCat 4 жыл бұрын
Видео ролики и материал супер. Может снять отдельно короткие как настраивать рабочее окружение и обычная работа с Python, где искать пакеты, как устанавливать и после делать отсылки на них?
@it_everyday
@it_everyday 4 жыл бұрын
разве первые 5 минут ролика не про это?
@valdemar8505
@valdemar8505 2 жыл бұрын
здравствуйте. возможно ли создать парсер, который из корзины заказов wb будет брать название заказа, артикул, фото и количество товара? и все это выводить в гугл таблицы. и чтобы парсило автоматически несколько раз в день. спасибо
@feelmylife152
@feelmylife152 3 жыл бұрын
Спасибо. Все супер, и многое понятно. А будет парсинг мульпроцес+асинхнор?)))
@-SunnyWild-
@-SunnyWild- 3 жыл бұрын
Врядли
@greml1nes
@greml1nes 4 жыл бұрын
В следующих видео дописать перебор страниц (тут нет общего кол-ва как в авито), и парсинг инфы с самого товара
@greml1nes
@greml1nes 4 жыл бұрын
Перебор делается просто: (общее число товара/100) +1 = колво страниц, далее как из видео про авито. А вот искреннюю попа-боль у меня вызвало парсинг "Купили более 1000 раз", так и не понял как парсить, нагуглил selenium, им наверное получится, но пока не разобрался как.
@_ich8599
@_ich8599 3 жыл бұрын
@@greml1nes Получилось разобраться, как парсить "Купили более 1000 раз" и "Процент довольных качеством: 100%" ???
@greml1nes
@greml1nes 3 жыл бұрын
@@_ich8599 неа :( Пока знаний не хватат
@_ich8599
@_ich8599 3 жыл бұрын
Будем надеяться, что автор обратит внимание на коментарии.
@mihaylov13
@mihaylov13 3 жыл бұрын
А как заходить в карточку товара и брать там характеристики и прочие свойства?
@user-xz4fc6fv5r
@user-xz4fc6fv5r 3 жыл бұрын
на 11:26 ссылка не полная написана а потом уже целиком везде идет ??? что за магия у меня также пол ссылки и парсится также ? как сделать чтобы целиком показывало?
@user-nu3po3uk1o
@user-nu3po3uk1o Жыл бұрын
Сегодня писал комент. Но он почему то не отобразился. Видео хорошее, но как уже говорилось у меняна 14 минуте кроме класс 0 не отображается ничего и на 17 минуте так же. Видел ответ, что стоит защита. Можно ли ее обойти? И как парсить, если не выдается результат? В видео защиты не было что ли?
@bugsbunny4252
@bugsbunny4252 2 жыл бұрын
А как можно спарсить контент или содержимое, допустим новости в списке, на примере новостного парсера, написанного на python? Срочно помогите.
@asselnurpeissova2789
@asselnurpeissova2789 Жыл бұрын
Доброго времени суток! У меня вышла в начале проверки ошибка NameError: name '_name_' is not defined, подскажите как исправить? Буду благодарна за быстрый ответ) а еще я пытаюсь спарсить на jupyter notebook
@kayuttv8231
@kayuttv8231 2 жыл бұрын
Что за шрифт и тема цветовая скажите пж
@user-fu6vj6vh5p
@user-fu6vj6vh5p 2 жыл бұрын
Похоже, мне надо не с 0, а с -1.
@-python6059
@-python6059 2 жыл бұрын
У меня постоянно ошибку выдаёт, связанная с отступами. Отступы вроде нормальные.
@GROBIK666
@GROBIK666 3 жыл бұрын
Почему у тебя ссылки полноценные, а у меня со срезом сайта? Т.е. начиная с /catalo/... Где-то я что-то пропустил, но найти не смог.
@GROBIK666
@GROBIK666 3 жыл бұрын
Такой я глупый, потому что у тебя ссылки целые, а на моем сайте обрезан домен)
@_windthebest_7529
@_windthebest_7529 2 жыл бұрын
Не верю уже что мне кто-то поможет,но. Как парсить страницу поиска того же валдберис, если там все догружается?
@sashaty
@sashaty 4 жыл бұрын
Подскажите,а как спарсить все товары,если на сайте установлена прокрутка вниз?
@it_everyday
@it_everyday 3 жыл бұрын
Изучать Selenium, внедрять его
@alexwake927
@alexwake927 4 жыл бұрын
Крутой контент, но что за склейка на 20 минуте и откуда появляется result ? заступорился на этом моменте
@it_everyday
@it_everyday 4 жыл бұрын
это были проблемы при записи и монтаже. но сам "result" был создан раньше, где-то на 14-15 минуте
@alexwake927
@alexwake927 4 жыл бұрын
@@it_everyday Спасибо за ответ! Я невнимательный) очень классные уроки, подписка однозначно!
@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 ты реально не понимаешь, что можно один раз написать и НИЧЕГО НИКОГДА не менять? на любой компьютере запуская.
@user-gb6ry6yf4h
@user-gb6ry6yf4h 3 жыл бұрын
Добрый день! Несколько моментов, которые у меня получились не так, как у Вас: 1. Результаты выводятся через одну пустую строку. 2. В режиме просмотра в PyCharm текст вместо кириллицы выдает ромб с восклицательным знаком внутри. Как исправить эти ошибки? И еще хотелось бы узнать о пагинации, что нужно добавить в данный код, что бы парсинг был и на других страницах. Спасибо.
@alekseydrv
@alekseydrv 3 жыл бұрын
Спустя 7 месяцев, но возможно кому-то пригодится: для того, чтобы в csv не было пустых строк нужно добавить параметр newline="" with open(path, 'w', newline='') as f:
@qtew6219
@qtew6219 2 жыл бұрын
@@alekseydrv спустя еще 10, чтобы избежать кирилицу на винде, пишем encoding = 'UTF-8'
@BpaTa2
@BpaTa2 4 жыл бұрын
Хотелось бы узнать: зачем вы передаете аргументы в функции через равно? То есть: url=url, а не просто url?
@platoyando3978
@platoyando3978 3 жыл бұрын
Ответ поздний, но все же. Это не обязательно, но иногда важно: если не указать, какой аргумент мы указываем, то питон зачтет его за самый первый. Если же в библиотеке он стоит на другом месте, то единственный выход - указать, что передаем мы именно его То есть если у нас есть def func(x, y, z) и мы напишем func(4), то 4 станет именно x, если нам нужно по другому, то пишем func(y=4)
@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. Попробуй продебажить создание файла.
@lagger0k
@lagger0k 3 жыл бұрын
Попробовал сделать, подобный для Lamoda и получил бан((( как теперь быть? Разбанят ли через-какое то время?
@user-xn1tz2uk5z
@user-xn1tz2uk5z 3 жыл бұрын
Использовать бесплатные прокси если разовый парсинг. Если регулярный, то рекомендовал бы покупные и несколько, использовать в ротации не допуская бана.
@user-vj4ol8ir9o
@user-vj4ol8ir9o 3 жыл бұрын
Почему при проверки на 13:58 у меня нету ничего просто "Process finished with exit code 0" и все
@ez9723
@ez9723 3 жыл бұрын
тоже самое
@kirillkv90
@kirillkv90 2 жыл бұрын
Защита стоит, у меня тоже ничего не загружает, на других сайтах работает, а на том что мне нужен нет
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
Я спарсил ссылки на товары, но у меня зачесалось узнать, мы используем одну ссылку чтобы получить доступ к блокам и через какие-то манипуляции вытаскиваем от-туда к примеру цену, название и т.д. а как мать его вставить много ссылок которые мы спарсили и уже с этих "миллионов" вытащить к примеру развернутое описание товара?
@it_everyday
@it_everyday 4 жыл бұрын
Всё так же) делать пул обработчиков, использовать многопоточность
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
@@it_everyday Я надеюсь, видос на эту тему планируется)
@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 Мозг взрывается... только только начал вникать в тему, но очень понравилось какие возможности открываются уже даже при изучении.
@user-if2cv5qg4k
@user-if2cv5qg4k 3 жыл бұрын
@@Dmitriy_Sentinel Например? Поделись, если есть мысли по заработку.
@user-so3jz5ci2p
@user-so3jz5ci2p 2 жыл бұрын
У меня на 14 минуте видео во время теста пишет Process finished with exit code 0. Может кто знает как исправить?
@it_everyday
@it_everyday 2 жыл бұрын
"exit code 0" -- это не ошибка, это нормальное завершение любой программы. возможно ты забыл написать __main__, проверь всё с начала!
@i.bunkov
@i.bunkov 2 жыл бұрын
Бро ты молодец, но что делать если ничего не понятно, а ты строчишь эти команды, методы как с пулемета ничего не обьясняя откуда и зачем ты это вообще вставил. С таким успехом можно было просто скинуть готовый скрипт да и все....
@user-oq3np1ud8q
@user-oq3np1ud8q 4 жыл бұрын
А как спарсить изображение с сайта?
@it_everyday
@it_everyday 4 жыл бұрын
точно так же. в чём разница? видишь ссылку -- скачивай, клади в папку
@user-lq2xo6mc2u
@user-lq2xo6mc2u 3 жыл бұрын
+
@4987abc
@4987abc 2 жыл бұрын
python3.10 -V SyntaxError: invalid syntax В чем проблема?
@borockov
@borockov Жыл бұрын
wb перешли на asp, селениум в помощь
@Dmitriy_Sentinel
@Dmitriy_Sentinel 4 жыл бұрын
4:50 ГДЕ БЛИН ТЫ РАНЬШЕ БЫЛ!?
@it_everyday
@it_everyday 4 жыл бұрын
Хаха
@Alukard_Petrovich
@Alukard_Petrovich Жыл бұрын
На данный момент WB не парсится через requests
@iFosteks
@iFosteks 6 ай бұрын
а как тогда? pandas?
@svetapov1338
@svetapov1338 3 жыл бұрын
Привет всем, столкнулась с проблемой, в эксель записывает одной колонкой и все слепленое между собой. Скорее всего я невнимательная и что то пропустила. Но может есть у кого такая проблема, то помогите.
@it_everyday
@it_everyday 3 жыл бұрын
Нужно настроить в экселе «разделитель». Указать там точно то, что в коде.
@svetapov1338
@svetapov1338 3 жыл бұрын
@@it_everyday спасибо, а то я уже код вдоль и поперек пересмотрела
@andy_top6676
@andy_top6676 4 жыл бұрын
А почему используете ООП, а не просто функции?
@it_everyday
@it_everyday 4 жыл бұрын
Для демонстрации возможностей. А вообще так получается более читабельный код, и проще тестировать
@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, там тоже ничего сложного, только знать какие команды писать в командной строке. :) Программирование это практика, то есть надо садиться и пробовать и экспериментировать.
@user-us1rk4bl5r
@user-us1rk4bl5r 3 жыл бұрын
В PyChar можно в настройках проекта рядом с выбором интерпритатора выбрать необходимые пакеты и установить нажатием кнопки Pakage install, если с консолью проблемы
@appatichno
@appatichno 4 жыл бұрын
Не мог установить лхмл, забил и сделал все на робот фреимворке
@it_everyday
@it_everyday 4 жыл бұрын
Молодец
@user-if2cv5qg4k
@user-if2cv5qg4k 3 жыл бұрын
Привет. А как заработать на таком парсере? Приведите примеры пожалуйста.
@user-lm9fi5xb1w
@user-lm9fi5xb1w 3 жыл бұрын
Заработать можно только на том, что вы пишете боты под заказ для какой-то компании или фирмы В ботов нету такого понятия как реклама или по типу рекомендации на подписки ( в некоторых случаях это можно сделать, но опять же нужна аудитория ) Можно создавать своих ботов под сайты типа продаж авиабилетов ( то есть отслеживать цену конкретного рейса и когда цена на билет падает - бот присылает сообщение об этом) Всё ограничевается только вашей фантазией.
@it_everyday
@it_everyday 3 жыл бұрын
Записать видео о парсере и получить три копейки с показов рекламы))
@MajinTorankusu
@MajinTorankusu 2 жыл бұрын
Ниху9 не понятно (((
@user-su4iv7tp4k
@user-su4iv7tp4k 4 жыл бұрын
Не получилось ничего😞
@it_everyday
@it_everyday 4 жыл бұрын
Сочувствую
@user-if2cv5qg4k
@user-if2cv5qg4k 3 жыл бұрын
Скорее становись "известным квадратом" и снова пробуй, и снова пробуй, и снова...
@trahula
@trahula 2 жыл бұрын
Интересно, конечно, но у меня не работает. Не знаю что я не так делаю, у меня просто ничего не возвращает. Ни ошибок, ни информации.
@moldirmakhamadiyeva4590
@moldirmakhamadiyeva4590 2 жыл бұрын
Точно такая же ситуация
@Andrey-kf6yy
@Andrey-kf6yy Жыл бұрын
​@@moldirmakhamadiyeva4590 уже не актуально видимо. в файле только Бренд,Товар,Ссылка создает, а INFO:wb: Получили 0 элементов пишет
@user-xz4fc6fv5r
@user-xz4fc6fv5r 3 жыл бұрын
Не могу убрать слэш) AttributeError: 'str' object has no attribute 'replase'
@it_everyday
@it_everyday 3 жыл бұрын
Опечатка в функции replace
@user-xz4fc6fv5r
@user-xz4fc6fv5r 3 жыл бұрын
@@it_everyday блин как так то )))
@user-xz4fc6fv5r
@user-xz4fc6fv5r 3 жыл бұрын
@@it_everyday пол часа голову ломал в итоге забил )
@andreyandrey4348
@andreyandrey4348 Жыл бұрын
не работает код
@pigen9733
@pigen9733 Жыл бұрын
ООП лишние тут...
@user-mh8nb7xu1j
@user-mh8nb7xu1j 4 жыл бұрын
Привет, нужен следующий функционал: отслеживание цены в онлайне, через авторизованного пользователя (дабы действовала скидка и промокоды) до заданого минимума и при достижение онного уведомляло в телегу, желательно. Поиски привили под это видео, может кто подсказать куда копать, вариант ли подобное реализовать самому без знаний (за какой срок) или все же проще заплатить ? хоть сам процесс очень интересен.
@ukrainian333
@ukrainian333 4 жыл бұрын
МОЁ ИМХО: При очень усердном обучении нужно минимум 3-6 месяцев (если с нуля).. это чтобы кое-как написать (наговнокодить), и еще и поддерживать в дальнейшем.. Опять же - нужно знать больше деталей о самом проекте, ведь вы рассматриваете его с точки зрения функционала для пользователя, с точки зрения программиста там может быть овердохрена ограничений (авторизация, мониторинг, API выбранного вами сервиса), и вы попадете не только на деньги, но и на время ... Если вам нужно это в виде собственного сервиса, который бы работал круглосуточно, и т.д... то придется вникать еще и в работу вебхуков, серверов и т.д.. поэтому при отсутствии базовых знаний путь обучения точно не для вас, тем более если сервис нужен здесь и сейчас под работающий проект. Бизнес не терпит отлагательств, не успели - потеряли клиентов или деньги. Поэтому лучше заплатить и использовать.. конечно при условии что программист толковый, и разберется в задаче.
@JuJuVoodoo6
@JuJuVoodoo6 4 жыл бұрын
Напиши мне в телеге jujumishka, мне тоже нужен такой бот, скинемся) пока нашла одного программера
@user-if2cv5qg4k
@user-if2cv5qg4k 3 жыл бұрын
@@JuJuVoodoo6 Привет. Поделись пожалуйста, как заработать на таком боте?
@undefined-channel
@undefined-channel 4 жыл бұрын
Хорошо, конечно, но зачем по-слогам говорить-то?) На 2х смотреть приходится)
@it_everyday
@it_everyday 4 жыл бұрын
Всем не угодишь
@user-if2cv5qg4k
@user-if2cv5qg4k 3 жыл бұрын
Кампутерщики, они загадочные люди))
@justjohn9832
@justjohn9832 3 жыл бұрын
Всё круто. Но просьба не дышать в микрофон и говорить не так, будто в соседней комнате спит мама
@wanwight5593
@wanwight5593 2 жыл бұрын
дышишь в микрофон, не делай так плиз
Простой парсинг сайтов на Python | requests, BeautifulSoup, csv
1:11:50
Андрей Андриевский
Рет қаралды 133 М.
Python-стрим: работа, парсинг, etc
52:31
IT каждый день
Рет қаралды 3,5 М.
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 16 МЛН
бесит старшая сестра!? #роблокс #анимация #мем
00:58
КРУТОЙ ПАПА на
Рет қаралды 2,8 МЛН
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 63 М.
Безлимитный парсинг на python | Бесплатная альтернатива прокси [Upper Junior]
11:38
Павлин Шарит - ИТ вместе с Николаем Павлиным
Рет қаралды 8 М.
Как парсить данные с сайта на Python
1:59:04
Hillel IT School
Рет қаралды 15 М.
ПРОГРАММИСТЫ! ВСЕ СЮДА...
14:25
Winderton
Рет қаралды 313 М.
Сеть и сокеты. База для backend разработчика.
17:11
Константин Козловский
Рет қаралды 38 М.
Парсинг Avito.ru при помощи Python 3
47:39
Oleg Molchanov
Рет қаралды 115 М.
Пишем парсер на Python за 30 минут
55:41
Купил этот ваш VR.
37:21
Ремонтяш
Рет қаралды 295 М.
Ждёшь обновление IOS 18? #ios #ios18 #айоэс #apple #iphone #айфон
0:57
iOS 18 vs Samsung, Xiaomi,Tecno, Android
0:54
AndroHack
Рет қаралды 82 М.