Парсинг на Python, Selenium и BS4 | Выполняем заказ на фрилансе | Парсинг динамического сайта
Фриланс. Обучение (Web-Scraping) веб парсингу на Python. В данном видео выполняем заказ взятый на фрилансе по парсингу динамического сайта. Выполняем задачу с помощью библиотек Selenium, Beautifulsoup, requests, urllib и регулярных выражений. С записью данных в JSON файл.
🔥 Доступ в приват | Поддержать проект:
boosty.to/pyth...
/ pythontoday
yoomoney.ru/to...
🔥 Стать спонсором канала:
/ @pythontoday
****Ссылки****
Дешевый/надежный сервер в Европе + СКИДКА 10%:
vdsina.ru/?par...
Хороший proxy сервис:
proxy6.net/a/1...
Парсинг криптобиржи | Торговый бот | API криптобиржи:
• Парсинг криптобиржи | ...
Как отправить сообщение на почту с помощью Python | Email рассылка | Python send Gmail
• Как отправить сообщени...
Асинхронный парсинг на Python | Ускоряем код в 10 раз
• Асинхронный парсинг на...
Крутой заказ на фрилансе | Подбираем забытый пароль к Excel файлу с помощью Python:
• Крутой заказ на фрилан...
Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
• Пишем Telegram бота на...
Плейлист по распознаванию лиц на Python:
• Распознавание лиц | Fa...
Плейлист по парсингу сайтов на Python:
• Парсинг/Scraping
Версии Chromedriver:
chromedriver.s...
Код проекта на github:
github.com/pyt...
И в telegram канале:
t.me/python2day
****Соц.сети****
Telegram: t.me/python2day
#scraping #webscraping #парсинг #requests #python #фриланс #beautifulsoup #selenium
Пікірлер: 386
[INFO] актуальная инфа по данному уроку Для тех у кого не получается проскролить, так как в конце скролла страницы, не появляется тег с сообщением о том, что дальше скролить некуда. Присмотритесь к тегу к которому мы перемещаемся для скролла. Внутри тега есть еще два тега, но при полном проскроливане страницы, эти теги исчезают. Ставьте условие не по наличию нового тега, а по отсутствию любого из внутренних двух. При таком условии весь код в блоке if из видео, переместится в блок else, аналогично для блока else из видео для блока if + Для внимательных перфекционистов. Не все карточки попадут в список карточек. Если просмотреть все карточки на странице с карточками, можно увидеть, что у некоторых слегка затемнен фон. Посмотрев на тег такой карточки, мы увидем, что в название класса добавляется дополнительное слово, что изменяет имя класса и означает что url к нам в список не попадет. Сами же карточки внутри не отличаются от остальных, не являются рекламными или повторяющимися (проверено), может они просто блатные какие то - хз. Для того чтобы они тоже попали к нам в список можно воспользоваться тем же compile() с названиями обеих карточек. ++ Для тех кто еще не работал с Selenium и вам не нравиться, что он ругается на вас(но все равно работает😎), за устаревшие методы как в видео. Для создания драйвера можно использовать это 👇 from selenium import webdriver from selenium.webdriver.chrome.service import Service service = Service('ПУТЬ К ДРАЙВЕРУ\chromedriver.exe') driver = webdriver.Chrome(service=service) За место этого (как в видео)👇 from selenium import webdriver driver = webdriver.Chrome('ПУТЬ К ДРАЙВЕРУ\chromedriver.exe') А для поиска по классу можно использовать это 👇 driver.find_element(by=By.CLASS_NAME, value="catalog-button-showMore") Предварительно импортируя это 👇 from selenium.webdriver.common.by import By За место устаревшего поиска как в видео👇 driver.find_element_by_class_name("catalog-button-showMore") +++ Для PythonToday. Ты красавчик большое спасибо❤
@orff-channel
2 жыл бұрын
Ты красавчик тоже. Тебе спасибо
@user-gl5cy4hi7y
Жыл бұрын
сразу же надо было читать комментарии я на это потратил уйму времени
@nekr90
Жыл бұрын
Красавчик мужчина,от души
@user-ip6qt4ez9f
Жыл бұрын
Спасибо за INFO , если не затруднит можешь подсказать в чем проблема : find_more_element = driver.find_element(By.CLASS_NAME,"catalog-button-showMore") затем идет блок кода где find_more_element должна прожаться и произойти догрузка контента : actions = ActionChains(driver) actions.move_to_element(find_more_element).perform() но проблема в том , что кнопка не прожимается и цикл продалжает крутиться н непрожимая кнопку "показать еще"
Спасибо огромное за труд! Твой канал это просто энциклопедия знаний, не слушай даунов, ты создаешь безумно полезный и нужный контент. Желаю двигаться только вперед, а мы поддержим 😉 Ты же знаешь)
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк и поддержку! 👍
@brunneng8575
2 жыл бұрын
@@PythonToday а что это за ide?
@PythonToday
2 жыл бұрын
@@brunneng8575 VSCode
@PythonToday
2 жыл бұрын
@@user19326 Приветствую, авторского курса пока нет. Только веду несколько человек.
@dinvinchester3353
2 жыл бұрын
@@PythonToday Здравствуйте спасибо за туториалы, очень много нового узнал))! Скажите а на селениуме можно парсить данные с карты на сайтах по недвижимости ?
Спасибо огромное за Ваш труд. Вчера закончил написание парсера группы в ВК и автоматической отправкой стат данных по постам в группе на почту нескольким сотрудникам. Все благодаря вашим урокам!! Настроение бомбическое, когда все получается!
Все мы были нубами. Так что - спасибо, за то что делишься своими навыками. А еще это ж опыт!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк и поддержку!
Пушка контент, огонь канал, кот талисман)) Успехов в развитии брат, безумно благодарен за проделанную тобой работу и пинок лично для меня. Спасибо тебе большое!
@PythonToday
2 жыл бұрын
Спасибо дружище) Рад что видео полезны
Я хоть и джава программист, смотрю твои видосики и вообще начал изучать парсинг благодаря тебе. Спасибо за видео
Огроменное спасибо за твои труды, двигайся дальше. У тебя очень полезные видео. С помощью твоих видео люди сэкономят кучу времени и нервов!
@PythonToday
2 жыл бұрын
Спасибо за поддержку!
Красиво, четко, лаконично и еще и работает!!!) Канал находка для меня, благодарю за такой качественный контент)
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что видео полезны и помогают!
Спасибо за урок! Буквально пару уроков назад по парсингу столкнулся с бесконечной прокруткой сайта, но так и не довел до ума автоматическую прокрутку через Selenium. А тут она реализована. Подправил свою по образу и подобию, все прекрасно заработало.
@PythonToday
Жыл бұрын
Рад что полезно! Большое спасибо за фидбэк!
Интересные методы, спасибо, что поделился. Я не использую bs4 или что-то еще. Только встроенные методы самого Selenium. Скролю скриптом через driver.execure_script(), так как до конца список может грузиться и без всяких индикаторов в виде появляющегося блока. И там добавили уже manager service, чтобы не указывать место к webdriver-у явно, и качать его не нужно, он сам его качает.
@PythonToday
2 жыл бұрын
Благодарю за фидбэк!
Нифига себе "если видео было вам полезным и вы узнали что-то новое", да это одно из лучших видео по парсингу, которое я видел, все чётко, подробно, конкретно!!!! Ваще когда месяц назад наткнулся на твой канал, я был просто в восторге, ибо все просто и офигенно озвучено, без какого либо пафоса, конкретно и ясно, и более того очень точно и профессионально, смотрю более старые видосы, когда время есть... Все супер, так держать, на днях в спонсоры на патреоне добавлюсь, очень полезные видео 👍🏻👍🏻👍🏻
@PythonToday
2 жыл бұрын
Спасибо большое за фидбэк и поддержку!
@Sadownick
2 жыл бұрын
@@PythonToday все, запатронился к тебе :)
Просто лучший!! Без воды и отлично обьясняешь)
@PythonToday
2 жыл бұрын
Большое спасибо! Рад что интересно и полезно)
Идея дать эксклюзивного контента практики удалась на ура. Я даже не думал что практики так не хватает во всяких контентах. Безумно благодарен.
Совет: Не стоит использовать time.sleep(n) для ожидания прогрузки страницы или элемента, куда разумнее использовать explicit waits. В данном случае можт это и сработает нормально, но в случае с selenium использование time.sleep() - моветон
@ilyashmakov122
2 жыл бұрын
Сайт затупит, инет затупит. Слип пройдет и пизда проге. Так что верный совет
🔥🔥🔥 Как всегда урок СУПЕР!!! Огромное спасибо!!! (я только-только начинаю самостоятельно изучать Python, пока на самом примитиве)
@PythonToday
2 жыл бұрын
Благодарю! Рад что полезно и помогает. Главное ежедневно практикуйся
Большое спасибо за качественный материал! Каждый урок пишу и "иду" по коду, чтобы все понять. Спасибо!
@PythonToday
2 жыл бұрын
Спасибо за фидбэк! Рад что видео помогают
Благодарю за видео. Толко обучился python, и уже такой бомбический канал, по Парсингу сайтов. Когда проходил задание на обучении этому, помогли Ваши уроки :).
@PythonToday
Жыл бұрын
Благодарю за фидбэк! Рад что видео помогают)
Материал просто огонь! Спасибо за труды!;)
@PythonToday
2 жыл бұрын
Спасибо большое за поддержку! Рад что полезно 👍
"... я только учусь, и делюсь практикой, которой мне так не хватало, с менее опытными подписчиками..." Уважаемый! Боюсь представить уровень Вашей компетенции, когда Вы закончите обучение.
@PythonToday
2 жыл бұрын
В программировании нельзя закончить обучение)
PythonToday ДРУГ ты крут, спасибо тебе за хорошие видосы, ты даешь знания и вдохновляешь!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк!
вместо переменной "count" можно использовать функцию enumerate() на цикл фор. выглядит это примерно так: list = ['a', 'b', 'c'] for i, el in enumerate(list): print(i, el) # 0 a, 1 b, 2 c
Огромное спасибо. Все просто и доходчиво! Без всякой "воды" и перескакивания !!!!
@PythonToday
Жыл бұрын
Огромное спасибо за фидбэк и поддержку!
2:35 библиокеки! 🤣🤣🤣🤣🤣! PythonToday спс за контент, постоянно очень жду новые видео!:)
Как всегда пушка - огоньСмотришь и просто кайфуешь, кучу полезной инфы с каждым просмотренным видосом приобретаю
@PythonToday
2 жыл бұрын
Спасибо за поддержку!
6:23 - если правильно понял, элемент будет тогда и только тогда, когда загрузка полностью окончена. Правильно тебя понял? Смотри, у selenium есть инструмент explicit wait, он как раз для этого. Поищи в доках на селен, так вот, задай хоть час, но скрипт продолжить работу в то время и только в то, как элемент будет обнаружен. Юзается BY, можно выставить, что удобно, в примере xpath, его и юзаю и на вэб, мобилках (юзал). Видео класс, люблю только selenium, bs4 нет, но без requests никуда, факт.
Теперь ждём на асинцио☺️💃 А работа проделана большая! Ставим класс 👍
@PythonToday
2 жыл бұрын
Спасибо за фидбэк!
Манера объяснение темы на высшем уровне.☀️😇 как и всегда 😊 правда для того что бы вникать, хотя бы нужно знать основы питона. чего всем советую 😊 всем добра, автору здоровья и больше роликов 😅
@PythonToday
Жыл бұрын
Огромное спасибо за поддержку!
*Спасибо тебе большое, очень нравится питон и по твоим урокам обучение ускоряется в несколько раз, оху#**#ный** ты мужик!!!*
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что полезно
Огромное спасибо! Всегда с удовольствием слушаю и с удовольствием поддерживаю!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк и поддержку!
Спасибо большое за видео! Очень доходчиво и полезно) хотелось бы ещё уроков на библиотеки, которые ты используешь, более подробно)
@PythonToday
2 жыл бұрын
Спасибо большое за фидбэк! Рад что полезно
Я человек простой, вижу Ваше видео - ставлю нравку!
@PythonToday
2 жыл бұрын
Большое спасибо за поддержку!
Что бы без тебя а. Продолжай я Junior по Python у с твоих видео я понял на сколько полезен Парсинг и как его легко делать. Ну да чуть чуть пока хромую по Парсингу но надеюсь твоих видео я обучусь этому лучше. Продолжай без тебя мы бы Яша читали бы инструкцию 🤦🏿♂️ Хорошо что ты снимаешь Спасибо тебе за труд 👍🏻
@PythonToday
2 жыл бұрын
Спасибо большое за фидбэк! Рад видео полезны и помогают
Огромное спасибо. Материал бомба!!!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что полезно и интересно
Я летом начал изучать питон. И только сегодня получил рекомендацию на твои видосы. С первых слов подача цепляет, штош, похоже я здесь залипну)) Лайк, подписка и всё такое! спасибо)
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Надеюсь видео будут полезны)
Спасибо за видео! Очень вдохновляет!!!
@PythonToday
2 жыл бұрын
Большое спасибо! Рад что полезно 👍
Паршу сайты поставщиков для своего дела, нашел в твоем коде красивые вещи, которые буду применять у себя. Продолжай в том же духе, ты красавчик!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что полезно)
в очередной раз спасибо за труд и материал для практики))) похоже админы сайта учли свои ошибки и немного его реконструировали, поэтому например: поле сайта клиники и соц сетелей на страницах компаний, теперь лежат каждый в своем теге под отдельным названием и добраться до них стало куда проще)) По ходу написания, заодно попрактиковался в grequests, пропустив через нее итоговую функцию обработки списка собранных ссылок (очень уж понравился мне этот модуль, своей простотой и эффективностью) и получилось даже лучше чем изначально предполагал)) без пауз между запросами скрипт отработал всего за 45 секунд (обработал 243 позиции)) Только 1 раз уже перед финальным сбором уже всей инфы, когда проверял как укладываются все поля в json на срезе из 5 клиник, и ничего ли не пропустил, и не напутал, угодил в капчу. Для пробы просто прошел ее на сайте руками, после чего, перезапустил скрипт и все сработало как часы)))
@PythonToday
2 жыл бұрын
Спасибо за фидбэк!
Очень круто , спасибо!
@PythonToday
2 жыл бұрын
Благодарю за фидбэк!
Туториал как обойтись без селиниума) Привет! Сайт действительно крутой со стороны обучения. Однако ты прав что можно обойтись без селиума если посидеть. Кароче тут подгружается страница вариантов POST запроса, JS кода а в ссылке самого запроса есть номера страниц, полученный код кидаем в формат json и вуаля. У тебя новая подгружаемая страница. Учитывая что я учусь requests по твоим видео, спасибо!
Спасибо за труд и за полезную информацию. Очень понятно объясняешь. Круто!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что полезно
Полностью поддерживаю !!!!! Zer0
спасибо огромное , очень полезное видео , самый лучший Питон блоггер
@PythonToday
Жыл бұрын
Благодарю!
За видео респект. Особенно понравился генератор списков, приятно удивился😉
@PythonToday
2 жыл бұрын
Спасибо за фидбэк! Рад что видео помогают)
Спасибо за видео. Очень пригодилось!
Очень полезное видео, Узнал много нового . Спасибо за подробное объяснение!
@PythonToday
2 жыл бұрын
Большое спасибо за поддержку! Рад что полезно
Дружище, ты лучший! Спасибо за видео!
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк!
Спасибо большое за видео, было очень полезно и познавательно. Но пришлось основательно переписывать скрипт, так как поменялись методы в библиотеках, теги на сайте и много всего еще прочего!
Ещё больше реальных заказов, ведь это позволяет понять что всё это учишь не зря и кому-то это нужно)) А те кто пишут про тысячи долларов за один заказ зачем парсят сайты? Для поиска самого дорого Роллс-Ройса наверно)))
@PythonToday
2 жыл бұрын
Большое спасибо за поддержку! Думаю максимум, что они парсят, это глазами клавиатуру)
@dryuni
2 жыл бұрын
@@PythonToday ...в онлайн-ферме, капусту поливают и игровое золото собирают...
@Alex.T.H.
2 жыл бұрын
@@dryuni я бы в своё время от такого бота не отказался)
Ждемс вторую часть заказа с помещением данных в бд)
Как всегда лайк! Молодец, приятно смотреть!!!
@PythonToday
2 жыл бұрын
Большое спасибо за поддержку!
Спасибо за контент)) Очень хорошо рассказываешь!
@PythonToday
2 жыл бұрын
Благодарю за фидбэк!
PythonToday: нужно сделать многопоточный парсинг
Когда за 30 мин узнал больше чем за 2 онлайн курса
@PythonToday
2 жыл бұрын
Спасибо большое за фидбэк! Рад что полезно)
Молодчага!!! Спасибо за ролик!!!! Познавательно! Лайк!
@PythonToday
2 жыл бұрын
Спасибо большое за поддержку!
Отличный урок, спасибо !
@PythonToday
2 жыл бұрын
Благодарю за фидбэк!
Не без проблем, но все получилось. Спасибо !
@PythonToday
Жыл бұрын
Спасибо за фидбэк! Рад что полезно!
Идеальный формат!
@PythonToday
2 жыл бұрын
Благодарю! Рад что интересно и полезно
Нетривиальный сайт, действительно весьма поучительный. Впрочем в моей практике самым сложным было иметь дело с обфускаторами и гугл капчей.
Ого!) Ви молодець!) Дякую вам!)
@PythonToday
2 жыл бұрын
Благодарю за поддержку!
насчет 30 долоров это конечно круто
супер! Спасибо, очень познавательно!
@PythonToday
2 жыл бұрын
Большое спасибо!
Огонь!!
Обожаю такие видосы.
коммент в поддержку!! коммент в поддержку!! коммент в поддержку!!
@PythonToday
2 жыл бұрын
Спасибо!
Просто офигенно!
@PythonToday
2 жыл бұрын
Благодарю!
Спасибо вам огромнейшее!!!
@PythonToday
Жыл бұрын
Спасибо за фидбэк!
Очень интересное видео, спасибо.
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк!
Парсинг ZOON, схож с парсингом 2GIS, ибо они оба полностью динамические и спарсить их только с bs4 нереально. Я пробовал, потратил 2 дня и даже не смог спарсить основной каскад на первой странице, не разворачивая карточки локаций. Вернее, иногда они всё же парсились при запуске скрипта, но зачастую нет, так как классы подмениваются и генерируется исключение, а id там, само-собой нет, ибо всё DOM дерево и так динамическое. Крч, хоть я и до последнего не хотел учить Selenium, видимо придётся.
Спасибо за топовый контент!👍👍
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что полезно
Классное видео, спасибо!
@PythonToday
2 жыл бұрын
Благодарю за фидбэк!
Классный урок!
@PythonToday
2 жыл бұрын
Благодарю!
Отличный урок, что сказать
@PythonToday
2 жыл бұрын
Большое спасибо!
я не понел а как html файл создался, там же нету кода по соданию файла 8:58
круто, спасибо
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк!
Здраствуйте, нравятся ваши видео, но заметил особенность, в вашем коде при использовании selenium всегда нужен вебдрайвер, что не очень удобно. Советую вам использовать undetected_chromedriver . Вебдрайвер не нужен, да и по названию понятно, что оно может еще делать
по больше бы видео по парсингу сайтов
@PythonToday
Жыл бұрын
Да вроде итак самый большой плейлист на ютубе 😀
Вот кто дико демпингует на Фрилансе =)
@PythonToday
2 жыл бұрын
¯\_(ツ)_/¯
Ты красавчик! Спасибо тебе
@PythonToday
2 жыл бұрын
Спасибо за поддержку!
Спасибо тебе огромное за труд. Много чему научился благодаря тебе. Желаю удачи! И вопрос: а ты для парсинга используешь scrappy?
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк! Рад что видео помогают. Использовал scrappy только в нескольких простых проектах.
Как всегда, лучший!
@PythonToday
2 жыл бұрын
Благодарю!
АХ хаха! 14:50 котяра лабает))))))))))))
Круть )))))
@PythonToday
2 жыл бұрын
Благодарю!
Спасибо за видео! Сделай пжл про парсинг статичных страниц, если они автоматом не подгруждаются и надо ручками странички менять - очень сейчас такая задачка нужная для решения)
@i.am.rossalex
2 жыл бұрын
Покажи пример такой страницы?
Огонь!)
Начинаем😍
@PythonToday
2 жыл бұрын
Спасибо за поддержку! )
огромное спасибо!!
Просто пушка ))
@PythonToday
2 жыл бұрын
Большое спасибо!
все конечно круто! Но есть такой фреймворк Scrapy
Смотрю тебя и дежавю как будто на канале черного треугольника)
@PythonToday
2 жыл бұрын
Большое спасибо за фидбэк!
Спасибо! А теперь давайте что-нибудь немного посложнее - например пободаемся c Instagram в плане парсинга)
@47clere
2 жыл бұрын
Спарсить можно что угодно. Даже если придётся для этого делать скрин шот и распознавать в нужном секторе текст))
Спасибо большое за урок по парсингу, можешь подсказать, как находить div, если название класса постоянно меняется, заранее спасибо
Это просто вау
@PythonToday
2 жыл бұрын
Спасибо большое! Рад что интересно
по-моему это не задача для селениума. пробовал смотреть запросы, подгружающие поликлиники?
@morludor3466
2 жыл бұрын
Видео смотри внимательнее)
Привет, почему executable_path может подсвечиваться жёлтым? Программа на нем ломается
Супер!!!
@PythonToday
2 жыл бұрын
Спасибо!
На сколько я знаю можно было бы использовать requests и парсить содержимое вкладки network
5k за пол часа, неплохо!
Классное видео, спасибо! А на какой бирже получил этот заказ? И вообще куда лучше идти за фрилансом?
@PythonToday
2 жыл бұрын
Благодарю за фидбэк! Сейчас только сарафанное и старые заказчики, раньше сидел на всех upwork, freelancer, habr, fl, kwork
Ошибка как я понял при сохранении файла, на этом же сайте "'charmap' codec can't encode characters in position 593-594: character maps to "😒 Кто-то знает как решить? Пробовал ставить utf-8 не помогло...
Привет! Спасибо тебе огромное братан!! Небросай это дело! Фишка твоего канала это как ты поистинне охуенно объясняешь, смотрю у других ничего непонятно а у тебя я обучился всему крутому и за это я благодарен ТЕбе! Бро, я очень прошу сделай пожалуйста по больше видеоуроков и по Телеграм ботов и т.п, так как это щяс самая популярная тема и я буду рад увидеть такое видео у тебя на канале! Удачи!