Ахренеть , как вы просто каждое слово в коде объясняете и все нормальным языком. Здоровье вам ❤
@dmitryv61563 жыл бұрын
Отличная подача материал, но есть ряд замечаний: 1. range(1, n) возвращает список начинающийся с 1 и заканчивающийся n-1, соответственно в Вашем случае нужно написать range(1, PAGINATION+1); 2. функцию save_doc(cards, CSV) необходимо сдвинуть влево на уровень вышестоящего for. В текущем варианте записываемые в файл данные будут повторяться с нарастанием последующего прохода цикла парсера. PS Я понимаю, что автор легко нашел бы эти неточности в реальном проекте, но написал для тех, кто будет смотреть данное видео для обучения.
@АртурТестов-л6д4 жыл бұрын
Спасибо, что рассказал абсолютно все, даже для диких чайников. Респект 👍
@Владимир-щ8н3ь3 жыл бұрын
Изумительное объяснение. Там где надо расставлены акценты. Спасибо!
@Evis91103 жыл бұрын
Мой первый парсер готов благодаря Вам, спасибо огромное)
@mobilelegends88454 жыл бұрын
Братушка от души за контент, очень класно все объясняешь! Плиз побольше питона бро, а с нас царские лайки))
@baluan_sholak2 жыл бұрын
Спасибо за видео. Кстати у кого выдает ошибку UnicodeEncodeError, в with open добавьте encoding="utf-8-sig" (если вы работаете в виндовс). Будет выглядеть так: with open(path, 'w', newline='', encoding="utf-8-sig") as file: Отличное обучение для новичков, еще раз спасибо!
@МаркМалина Жыл бұрын
Не мог понять что делать с ошибкой, и тут ответ, спасибо)
@baluan_sholak Жыл бұрын
@@МаркМалина знал, что пригодится
@evollt3 жыл бұрын
Здравствуйте. Спасибо вам за курс! Все очень понятно и доступно. Вы объясняете чуть ли ни каждую мелочь и это очень хорошо.
@goodtrydemongg20333 жыл бұрын
Самый лучший и понятный курс по парсингу который я встречал, красавчик!
@andrievskii3 жыл бұрын
Спасибо, очень приятно
@Alex_MacDenis3 жыл бұрын
Огромное спасибо автору! Всё максимально понятно и подробно, большое спасибо!❤️
@kayuttv82313 жыл бұрын
Огромное спасибо... Уже несколько дней пытаюсь понять, а не получается. А у вас всё понятно каждую строку объяснили. Ещё раз огромный респект!
@maxymus78843 жыл бұрын
Большое спасибо за урок! За один вечер с поверхностными знаниями по python прошел урок и видоизменил его под свои нужды для парсинга с других сайтов(маркетплейс).
@andrievskii3 жыл бұрын
Рад, что был полезен
@mr.akulka3 жыл бұрын
Поделись пожалуйста кодом для маркетплейса
@Tobi174602 жыл бұрын
Три дня я писал и вникал в этот код, спасибо большое за такой урок очень полезный, теперь я на шаг ближе к своей мечте!
@swipes13 жыл бұрын
Спасибо супер, сделайте парсер с сайтами куда надо заходить с логином, хотя бы легенкий парсер чтобы понять как работать
@vvsyakiy3 жыл бұрын
Для всех у кого парсятся непонятные символы вместо русских букв: в функции get_html добавьте строчку " r.encoding = 'utf8' " и всё будет норм
@nigma9333 жыл бұрын
спасибо от души
@grigoriimikhailov7033 жыл бұрын
а куда её вставить - можно чуть подробнее плиз? не понимаю :(
@vvsyakiy3 жыл бұрын
@@grigoriimikhailov703 между r = requests.get(url, headers=HEADERS, params=params) и return r
@belford_acj23022 жыл бұрын
Андрей Андриевский, спасибо Вам большое за решение с Плагинацией. Круто! Все сделал и все получилось! Желаю Вам успехов в 2022-году! :)
@Mr7172737473 жыл бұрын
Андрюха, спасибо за доскональный урок. Ты - лучший. Don't get lost !
@andrievskii3 жыл бұрын
спасибо за комментарий
@aleksgor14082 жыл бұрын
Круто. Искал нормальное поясняющее видео по парсингу. В этом максимально все понял ))) Спасибо.
@FriskesTV2 жыл бұрын
Спасибо за видео, хорошо объясняешь! Помощь тем у кого траблы с кодировкой, это происходит изза символа 'é' в одном из тайтлов карт 'Chaméléon', есть 2 решения, либо подменить эти символы с помощью метода replace(), и тогда эта карта сохранится в наш список, либо просто отбросить данную карту вместе с ошибкой с помощью try except пример: try: writer.writerow([item['title'], item['link_product'], item['brand'], item['card_img']]) except UnicodeEncodeError: print('Получена ошибка: UnicodeEncodeError')
@РусланИващенко-у6я4 жыл бұрын
Круто! Получилось! Правда только одну страницу и без сохранения в файл почему-то.. Буду пересматривать еще, видимо что-то упустил. Ждем продолжения!
@userikzhan66833 жыл бұрын
Спасибо за очень полезный и компактный разбор! Лайк и подписка!
@andrievskii3 жыл бұрын
Спасибо за подписку
@ПИОНЕР-МузыкальнаястудиявБрянс2 жыл бұрын
url в get_html записан маленькими буквами. В то время как константа URL записана большими. Как это работает? Питон ведь чувствителен к регистру. Не понимаю.
@d0r1s3t63 жыл бұрын
Спасибо большое вам! Пытался писать парсера, никак не получалось, зашел к вам на видео - все с первого раза написал
@MrTimmirs3 жыл бұрын
Отличный урок, думаю будет всем полезно рассмотреть создание парсера через ООП. Спасибо за труд!
@Kaiserdom3 жыл бұрын
Единственный толковый урок. Спасибо, все понятно и ясно объяснил!!!
@arktikmoon3 жыл бұрын
Ну блин всё огонь. Кстати там сразу заметил пропущенные двоеточия в словаре на паре ключ значение. Смотрю и думаю сказал словарь, записывает данные как множество. Только множество пустое не так создаётся, и после последнего элемента насколько помню нужно запятую. Что то здесь не то))). И на константе csv pycharm заругался))). Там же как метод воспринимается. Когда без кавычек.
@arktikmoon3 жыл бұрын
Огромнейшее спасибо от всей души за урок. Шикарная подача.
@michaelpodroykin77223 жыл бұрын
Андрей!! Круто, молодец Просмотрел весь видос, все ясно и понятно рассказываешь) Спасибо
@btttt55104 жыл бұрын
Сделайте курс по Django plss. Очень круто заходит как вы объясняете материал!!!!
@cassidy71723 жыл бұрын
Спасибо, дружище, всё подробно и по делу. Очень полезное видео.
@skuse016 ай бұрын
Ты просто лучший, огромное спасибо
@andrievskii6 ай бұрын
Спасибо
@stradys Жыл бұрын
спасибо, хороший урок! сделайте пжл аналогичное видео с использованием Selenium для динамических сайтов, думаю многим будет интересно
@roman4453 жыл бұрын
Спасибо за урок, сделал парсер по нему для тех же карточек. Теперь там все поменялось, я переделал. Если кому нужен код, что бы не набивать, пишите. Только у меня названия банков парсятся в неправильной кодировке, не знаю что с этим делать пока.
@vladmvv48493 жыл бұрын
Пропиши utf-8 забей как это сделать
@vincemanlie44352 жыл бұрын
Вышлите мне код пожалуйста
@othelnik66593 жыл бұрын
А почему у меня парсится не страничка объектов а только один объект на страничке??
@0palev3 жыл бұрын
отличный урок получился, и у меня почти всё вышло, пока не начал сохранять в csv файл адреса картинок и ссылку на банк, что то с кодировкой. Если написать так with open(path, 'w', newline='', encoding='utf8') as file тогда все гуд, но в екселе абра кадабра, которую уже потом можно декодировать.
@denisgoldman32552 жыл бұрын
Спасибо за видео! Один вопрос, как парсить по списку ссылок? Есть определённые ссылки на страницы, с которых нужно спарсить title и h1. Как это сделать?
@liubovkernichnaya96104 жыл бұрын
Ставлю тебе душевный лайк, видео очень помогло, отличный урок, спасибо тебе за твой труд!
@ayakovtsev4 жыл бұрын
Красава! Видос отличный! Спасибо, что заморочился!
@ghostfromsky2 жыл бұрын
Спасибо большое вам, объяснили все очень понятно. Мне этот ролик очень сильно помог, здоровья вам!
@erickwhite11954 жыл бұрын
лучшее видео по PYTHON, что я видел. Многие вещи стали понятными. Огромное спасибо! Надеюсь будут и дальше похожие видео) Однозначно лайк, подписка.
@dryuni6 ай бұрын
PythonToday посмотри, тоже чувак толковый
@artemselivanov68923 жыл бұрын
Дякую за урок. Це було дуже корисно!
@andrievskii3 жыл бұрын
Гарного навчання
@ДенисДемиденко-щ5м3 жыл бұрын
Урок понравился, спасибо. Всё понятно) Даже подписался
@NavAlextv3 жыл бұрын
Просто отличная подача материала, супер!!!
@winssd94962 жыл бұрын
На первом этапе вместо Response 200 Response 403. Что делать
@ИльяИлья-ю2ы3 жыл бұрын
Отличный урок! Подписался
@Kosmoswa3 жыл бұрын
отличный урок. большое спасибо!
@andrievskii3 жыл бұрын
Пожалуйста
@djonikbb55723 жыл бұрын
Однозначно подписка ,жду видео по питону
@Bah19183 жыл бұрын
Классное объяснение .Хоть один человек детально всё показал. СПАСИБО. А видео с применением ООП будет.?
@andrievskii3 жыл бұрын
Будет в плейлисте о Джанго
@ХожиакбарБаратов-ъ3ц4 жыл бұрын
Давайте сделаем шахматы в python-не Спасибо за уроки)
@ВиталийПотылицын-ж3з2 жыл бұрын
Спасибо за ваш труд,позновательно!
@КороткевичМихаил3 жыл бұрын
Всё очень понятно. Спасибо большое! =)
@denysmilka67623 жыл бұрын
Видос годный) Лайк подписка. Пойду писать код.
@emilseyfullayev16383 жыл бұрын
slov net, prosto bolshoy like
@ban24793 жыл бұрын
я астановился на 20:56 время мне написало что делать? C:\Users\Ban\AppData\Local\Programs\Python\Python39\python.exe C:/Users/Ban/PycharmProjects/pythonProject2/parser.py File "C:\Users\Ban\PycharmProjects\pythonProject2\parser.py", line 13 r = requests.get(url, headers=,params=params) ^ SyntaxError: expression cannot contain assignment, perhaps you meant "=="? Process finished with exit code 1
@АнастасіяПономарьова-ш1е2 жыл бұрын
Добрый день, сделала парсер все по уроку, парсит только первую страницу, если написать парсить 2 и более, просто дублирует данные с первой страницы. Прошу помощи
@НиколайСахаров-к9ь2 жыл бұрын
ЖИЗА! Решили проблему?
@АнастасіяПономарьова-ш1е2 жыл бұрын
@@НиколайСахаров-к9ь да, пагинацию сделала по-другому, привязка к номерам страниц снизу или сверху первой, пример def get_pages_count(url, url_headers): html=requests.get(url, headers=url_headers) # print(html.text) tree = BeautifulSoup(html.text, 'lxml') links=tree.find_all("a", class_='page-link') # print(links[-2]) page_count = int(links[-2].get_text(strip=True)) print("Всего страниц: %d" % page_count) return page_count возвращает кол-во страниц, далее включаю цикл for от 1 до page_count
@anns73093 жыл бұрын
Спасибо за видео! А как правильно пройтись циклом, если нужно пройти по ссылке заголовка банковской карты и оттуда уже брать доп инфо?
@ayakovtsev4 жыл бұрын
Если бы еще раскрыл, как изнутри одноименных классов доставать разные значения одинаковых тэгов для отдельных столбцов таблицы, было бы вообще круто... Для понимания: Есть div class = AAA. У него внутри 4 одинаковых подкласса ВВВ. Внутри каждого ВВВ под одинаковыми тегами, р или а или h3 лежат разные значения. Как же их достать?
@incognito57974 жыл бұрын
Можно доставать любой тег по индексу
@АлександрКирпичев-х5з Жыл бұрын
Солидарен, может ли кто-то в двух словах привести пример как с таким работать?
@АлексейИванов-ц5л3ы3 жыл бұрын
Спасибо за людское объяснение ))))
@kachala Жыл бұрын
20:50 вместо 200 выдаёт response 403 почитал и пишет что это защита от парсинга стоит
@Roubs894 жыл бұрын
Почему у меня в терминале ссылки не рабочие, нельзя на них нажать и перейти на сайт как на видео?)
@viktornet-k6x3 жыл бұрын
Подскажите, пожалуйста, получаю ошибку: 'title': item.find('div', class_='img-crop').get_text() AttributeError: 'NoneType' object has no attribute 'get_text' В чём может быть проблема? Весь код чётко по видеоуроку, ошибку выдаёт после добавления .get_text(), .find(). Если не добавлять .get_text(), .find() выдаёт словарь [{'title': None}].
@TheRindzinnew3 жыл бұрын
Здравствуйте я тоже досмотрел все видео и вбил до конца. По всему нету пару советов есть на английских сайтах пока думаю. вот один советует.coderoad.ru/51687872/BeautifulSoup-get_text-возвращает-объект-NoneType
@Eirstream2 жыл бұрын
Во-первых в уроке не так написано, там .get_text(strip=True), во-вторых у Вас ошибка в выборе div, где находится класс img-crop, нужно указать правильно вышестоящий div, в котором вы ищите и указать его в строке, которая выше items = soup.find_all('div', class_='ВОТ ТУТ')
@ЛарисаПантелеева-ь8ь5 ай бұрын
Выводит вместо страниц только карты, 2 страницы выбираю парсить, выводит 1 карту, что делать?
@andrievskii5 ай бұрын
Ну значит сменилось что-то в сайте который парсится или парсер не верно написан. могла быть маленькая ошибка. Что же делать!?!?!? 1. Пошагово провести дебагинг приложения, везде где есть какие-то переменные выводить в консоль и смотреть то там что нужно или нет 2. Присмотреться к коду и увидеть визуально. что не так (только если вы понимаете ЯП а не просто списали по видео код)
@orkenrakhmatulla21272 жыл бұрын
Классно , спасибо большое !👍🏻
@deador63494 жыл бұрын
А ты в курсе, что парсишь одну и ту же страницу n кол-во раз ?
@ВячеславЛавров-р6м4 жыл бұрын
Единственное не понял в конце: в функции parser() save_doc() внутри цикла for а не за его пределами.(по идее же должен быть на месте pass?). И ещё момент: почему в разных функциях одно и тоже название списка cards? Работаем с тем же объектом?
@wikigame79422 жыл бұрын
Пасаны почему когда парсы на винде 7 то в место Русского языка краказябры?
@ВладимирЧехун-ц8д3 жыл бұрын
Понятно и доходчиво
@talisman77762 жыл бұрын
у меня тоже парсер этот не очень работает, парсит только одну страницу - если задаешь больше - он просто дублирует результаты с первой столько раз сколько указано страниц, в эксель парсер просто подгрузил три товара, а тайтлы просто в одну строчку вывел, хотя они были разделены точкой с запятой. Урок конечно крутой - но масса доп вопросов возникла, попробую сам их порешать, а так надеюсь автор еще будет радовать новыми уроками.
@АртёмАсылгужин-о6с4 жыл бұрын
при проверке выводятся пустые списки [] в чём может быть проблема?
@ТатьянаПопова-в8щ4 жыл бұрын
такая же проблема
@asd-sl1kv4 жыл бұрын
Артём, ты просто неправильные классы указал и вероятно блоки, тебе надо разобраться куда что сувать и научиться это делать на разных сайтах ведь везде структура разная items = soup.find_all("div", class_ = "snippet-horizontal") сюда ты должен воткнуть класс всех блоков, которые ты хочешь спарсить, они под одним классом, тебе надо определить под каким,"title" : item.find("a", class_ = "snippet-link"), сюда ты должен уже ввести класс и тег, где находится то что тебе нужно, если то что тебе нужно находится в блоке "a", под атрибутом, href, к примеру, то тебе нужно указать это вот так: "title" : item.find("a", class_ = "snippet-link").get("href")
@chasesilvers15823 жыл бұрын
Если вдруг еще актуально или кому поможет: Средой должен подсвечиваться метод append, т.е. круглая скобка должна быть рядом с ним, без переноса. Не cards.append ( А cards.append( {}
@ArtDDSS4 жыл бұрын
Вместо библиотеки bf, рекомендую использовать lxml, а для записи в csv,xlsx, sql - pandas
@YouMeNow883 жыл бұрын
По C# планируете уроки или не работали с ним? Что можете сказать об этом языке? Спасибо
@Ребятакошки2 жыл бұрын
В csv файл сохраняется только 40 значений. Помогитет
@5224Mark2 жыл бұрын
А у меня вот выкатывается user-agent': (здесь красным ',' expected Statement expected, found Py:COLON) 'Mozilla/5.0 в паучарм. Что делать помогите пожалуйста (No context actions available at this location)
@IzabelleHell3 жыл бұрын
Не любой сайт можно таким способом спарсить. В некоторых случаях может понадобиться эмулятор браузера, так как все сайты написаны по-разному и в разных браузерах по-разному могут по-разному выглядеть, поэтому код сайта придется вытаскивать другими способами.
@python689 Жыл бұрын
Здравствуйте, помогите плз, как кожно вытащить текст "Wilson Tour Premier All Court 4B" soup = BeautifulSoup(html, 'lxml') title = soup.find('h1', class_='product--title') Tennis balls Wilson Tour Premier All Court 4B
@VladislavN-v2y3 жыл бұрын
Хорошее видео. Всё понятно.
@nyakakun33983 жыл бұрын
Атрибут ХРЕФ :D ета луцк, адназначно
@ЕвгенСахаров2 жыл бұрын
Недоумение и страх были пол года назад. Тогда я первый раз увидел это видео и ушел с него. Ну а теперь буду смотреть до конца,ну и конечно пробовать что то делать. Да, я еще fake_useragent прикручу.
@dor1k9912 жыл бұрын
И как оно?
@ЕвгенСахаров2 жыл бұрын
@@dor1k991 Все ОК
@viktorchemezov9273 жыл бұрын
Было бы годно если надо было бы персить с авторизацией. Снимите видео, пожалуйста.
@caiman1014 жыл бұрын
Спасибо, друже!
@dimashkarubo88152 жыл бұрын
подскажите пожалуйста я сделал парсер он отработал один раз как надо после уже не выдает пустоту что делать?
@КурскийТИК3 жыл бұрын
Спасибо большое за видео, все очень грамотно объяснили. У меня небольшой вопрос, а как сделать запрос если в одном классе допустим несколько
@platonpg2 жыл бұрын
Как определить какие заголовки необходимы для конкретного сайта? Спасибо
@vladislavstepanov34542 жыл бұрын
у меня при пагинации парсятся на всех страницах одинаковые данные, что я делаю не так?
@ДарийМар2 жыл бұрын
очень круто, спасибо
@Тигра-и6б3 жыл бұрын
Почему мне возвращает только пустой список в виде скобок [ ]
@andrievskii3 жыл бұрын
Есть масса причин, может что-то поменялось на сайте с которого парсим данные, возможно где-то опечатка, еще что-то. Видео нужно воспринимать, как мини туториал, и допиливать с правками под себя и свои задачи!
@ОлексійСавченко-л7е2 жыл бұрын
Дякую за приклад. Але сторінка сайту змінена і перевірити код не має можливості.
@РамильАхмеджанов-т5ж2 жыл бұрын
На первом этапе вместо Response 200 Response 403. Что делать? Как обходить???
@TheRindzinnew3 жыл бұрын
Здравствуйте. Тут у человека такая же ошибка моя очень похоже там 2 линии 25-я строка 49-я и 55-я. вся загвоздка в 25-й get text Я уже 10 ки раз пересматривал и тесты запускал все упирается для начала ошибок с 25- большой строки. Подскажите, пожалуйста, получаю ошибку: 'title': item.find('div', class_='img-crop').get_text() AttributeError: 'NoneType' object has no attribute 'get_text' В чём может быть проблема? Весь код чётко по видеоуроку, ошибку выдаёт после добавления .get_text(), .find(). Если не добавлять .get_text(), .find() выдаёт словарь [{'title': None}]. Я нашел тут несколько решений буду побывать coderoad.ru/21939240/Объект-NoneType-не-вызывается-beautifulsoup-ошибка-при-использовании-get_text
@openuser2 жыл бұрын
Те кто благодарят, вы повторяли за автором? Интересно и полезно, сомнения нет, но нет уже одинаковых классов, все разные, и обучение на этом прерывается. Надо искать другой путь! ))
@ЕвгенийПитиримов-х7ш4 жыл бұрын
доброе время суток. А как вытащить значения из ключа title для обработки
@ДарийМар2 жыл бұрын
сделайте, плиз, по какому-то фрейму урок, желательно джанго)
@sakov27 ай бұрын
Есть задача по написанию парсера на Python или PHP, есть здесь те, сможет оценить задачу и если договоримся, то сделать?
@andrievskii7 ай бұрын
t.me/frontendwebsos Напиши в группу нашу, только не копируй это сообщение, а распиши хоть немного, что парсить, откуда, как сберегать и т.д.
@neophron1974 жыл бұрын
vs тоже хороший редактор
@Morphem854 жыл бұрын
Какой шрифт используете в пайчарм? Красивый...
@niva6222 жыл бұрын
Отличное видео спасибо
@rompabys68993 жыл бұрын
У меня такая проблема, загружает первые четыре изображения, а потом игнор, нет их, хотя вс инфа есть, кроме самого изображения
@HATyPAJI12 жыл бұрын
Поразительно знакомый урок парсинга...
@АнастасіяПономарьова-ш1е2 жыл бұрын
Добрый день, обнаружилась новая проблема: парсит отлично, но после примерно 20 прогона (меняю ссылки вручную) стал сохранять лишь первый товар из списка, при этом все товары bs4 выгружаются, но с сохранением беда( Коллеги, сможете помочь?
@jacksparow52893 жыл бұрын
Привет спасибо за урок! Подскажи пожалуйста , есть такая задача : локальная сеть в ней несколько сетевых принтеров с локальной веб страницой ( адрес по типу https:\\10.10.10.5) и хотелось бы получать информацию о состоянии тонера, в рамках одного документа csv . Пробую по примеру как в видео не выходит. Есть некоторые внутренние cайты принтеров без SLL сертификата