Спасибо огромное за Ваш труд. Вчера закончил написание парсера группы в ВК и автоматической отправкой стат данных по постам в группе на почту нескольким сотрудникам. Все благодаря вашим урокам!! Настроение бомбическое, когда все получается!
[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. Ты красавчик большое спасибо❤
Спасибо за 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() но проблема в том , что кнопка не прожимается и цикл продалжает крутиться н непрожимая кнопку "показать еще"
Спасибо за урок! Буквально пару уроков назад по парсингу столкнулся с бесконечной прокруткой сайта, но так и не довел до ума автоматическую прокрутку через Selenium. А тут она реализована. Подправил свою по образу и подобию, все прекрасно заработало.
Спасибо огромное за труд! Твой канал это просто энциклопедия знаний, не слушай даунов, ты создаешь безумно полезный и нужный контент. Желаю двигаться только вперед, а мы поддержим 😉 Ты же знаешь)
@@PythonToday Здравствуйте спасибо за туториалы, очень много нового узнал))! Скажите а на селениуме можно парсить данные с карты на сайтах по недвижимости ?
Пушка контент, огонь канал, кот талисман)) Успехов в развитии брат, безумно благодарен за проделанную тобой работу и пинок лично для меня. Спасибо тебе большое!
Благодарю за видео. Толко обучился python, и уже такой бомбический канал, по Парсингу сайтов. Когда проходил задание на обучении этому, помогли Ваши уроки :).
Нифига себе "если видео было вам полезным и вы узнали что-то новое", да это одно из лучших видео по парсингу, которое я видел, все чётко, подробно, конкретно!!!! Ваще когда месяц назад наткнулся на твой канал, я был просто в восторге, ибо все просто и офигенно озвучено, без какого либо пафоса, конкретно и ясно, и более того очень точно и профессионально, смотрю более старые видосы, когда время есть... Все супер, так держать, на днях в спонсоры на патреоне добавлюсь, очень полезные видео 👍🏻👍🏻👍🏻
Интересные методы, спасибо, что поделился. Я не использую bs4 или что-то еще. Только встроенные методы самого Selenium. Скролю скриптом через driver.execure_script(), так как до конца список может грузиться и без всяких индикаторов в виде появляющегося блока. И там добавили уже manager service, чтобы не указывать место к webdriver-у явно, и качать его не нужно, он сам его качает.
Манера объяснение темы на высшем уровне.☀️😇 как и всегда 😊 правда для того что бы вникать, хотя бы нужно знать основы питона. чего всем советую 😊 всем добра, автору здоровья и больше роликов 😅
Я летом начал изучать питон. И только сегодня получил рекомендацию на твои видосы. С первых слов подача цепляет, штош, похоже я здесь залипну)) Лайк, подписка и всё такое! спасибо)
вместо переменной "count" можно использовать функцию enumerate() на цикл фор. выглядит это примерно так: list = ['a', 'b', 'c'] for i, el in enumerate(list): print(i, el) # 0 a, 1 b, 2 c
Совет: Не стоит использовать time.sleep(n) для ожидания прогрузки страницы или элемента, куда разумнее использовать explicit waits. В данном случае можт это и сработает нормально, но в случае с selenium использование time.sleep() - моветон
6:23 - если правильно понял, элемент будет тогда и только тогда, когда загрузка полностью окончена. Правильно тебя понял? Смотри, у selenium есть инструмент explicit wait, он как раз для этого. Поищи в доках на селен, так вот, задай хоть час, но скрипт продолжить работу в то время и только в то, как элемент будет обнаружен. Юзается BY, можно выставить, что удобно, в примере xpath, его и юзаю и на вэб, мобилках (юзал). Видео класс, люблю только selenium, bs4 нет, но без requests никуда, факт.
в очередной раз спасибо за труд и материал для практики))) похоже админы сайта учли свои ошибки и немного его реконструировали, поэтому например: поле сайта клиники и соц сетелей на страницах компаний, теперь лежат каждый в своем теге под отдельным названием и добраться до них стало куда проще)) По ходу написания, заодно попрактиковался в grequests, пропустив через нее итоговую функцию обработки списка собранных ссылок (очень уж понравился мне этот модуль, своей простотой и эффективностью) и получилось даже лучше чем изначально предполагал)) без пауз между запросами скрипт отработал всего за 45 секунд (обработал 243 позиции)) Только 1 раз уже перед финальным сбором уже всей инфы, когда проверял как укладываются все поля в json на срезе из 5 клиник, и ничего ли не пропустил, и не напутал, угодил в капчу. Для пробы просто прошел ее на сайте руками, после чего, перезапустил скрипт и все сработало как часы)))
Спасибо большое за видео, было очень полезно и познавательно. Но пришлось основательно переписывать скрипт, так как поменялись методы в библиотеках, теги на сайте и много всего еще прочего!
Туториал как обойтись без селиниума) Привет! Сайт действительно крутой со стороны обучения. Однако ты прав что можно обойтись без селиума если посидеть. Кароче тут подгружается страница вариантов POST запроса, JS кода а в ссылке самого запроса есть номера страниц, полученный код кидаем в формат json и вуаля. У тебя новая подгружаемая страница. Учитывая что я учусь requests по твоим видео, спасибо!
Что бы без тебя а. Продолжай я Junior по Python у с твоих видео я понял на сколько полезен Парсинг и как его легко делать. Ну да чуть чуть пока хромую по Парсингу но надеюсь твоих видео я обучусь этому лучше. Продолжай без тебя мы бы Яша читали бы инструкцию 🤦🏿♂️ Хорошо что ты снимаешь Спасибо тебе за труд 👍🏻
"... я только учусь, и делюсь практикой, которой мне так не хватало, с менее опытными подписчиками..." Уважаемый! Боюсь представить уровень Вашей компетенции, когда Вы закончите обучение.
Ещё больше реальных заказов, ведь это позволяет понять что всё это учишь не зря и кому-то это нужно)) А те кто пишут про тысячи долларов за один заказ зачем парсят сайты? Для поиска самого дорого Роллс-Ройса наверно)))
Парсинг ZOON, схож с парсингом 2GIS, ибо они оба полностью динамические и спарсить их только с bs4 нереально. Я пробовал, потратил 2 дня и даже не смог спарсить основной каскад на первой странице, не разворачивая карточки локаций. Вернее, иногда они всё же парсились при запуске скрипта, но зачастую нет, так как классы подмениваются и генерируется исключение, а id там, само-собой нет, ибо всё DOM дерево и так динамическое. Крч, хоть я и до последнего не хотел учить Selenium, видимо придётся.
Здраствуйте, нравятся ваши видео, но заметил особенность, в вашем коде при использовании selenium всегда нужен вебдрайвер, что не очень удобно. Советую вам использовать undetected_chromedriver . Вебдрайвер не нужен, да и по названию понятно, что оно может еще делать
Привет! Спасибо тебе огромное братан!! Небросай это дело! Фишка твоего канала это как ты поистинне охуенно объясняешь, смотрю у других ничего непонятно а у тебя я обучился всему крутому и за это я благодарен ТЕбе! Бро, я очень прошу сделай пожалуйста по больше видеоуроков и по Телеграм ботов и т.п, так как это щяс самая популярная тема и я буду рад увидеть такое видео у тебя на канале! Удачи!
Спасибо за видео! Сделай пжл про парсинг статичных страниц, если они автоматом не подгруждаются и надо ручками странички менять - очень сейчас такая задачка нужная для решения)
Вопрос: А почему ты используешь time.sleep(),если можно использовать driver.implicitly_wait() Эта штука ждёт пока весь контент подгрузится и выполняет дальше код, а time.sleep() только тормозит скорость выполнения Возможно я что-то незнаю🤔🤔🤔
@@PythonToday Понял, но я заметил такую штуку , что если использовать implicity_wait(),то скрипт не будет видит все елементы(просто у меня такое было), но всё же попробовал как ты сделать паузы через time.sleep(), то начало работать
@@PythonTodayПросто я раньше пробовал по твоим видосикам писать свои скрипты,но они не правильно работали, но когда начал ставить перерывы проблем стало меньше, но опять же селениум не видел некоторых елементов либо часть елементов, но пока решил пересесть на тайм.слип()
Идея дать эксклюзивного контента практики удалась на ура. Я даже не думал что практики так не хватает во всяких контентах. Безумно благодарен.
Спасибо огромное за Ваш труд. Вчера закончил написание парсера группы в ВК и автоматической отправкой стат данных по постам в группе на почту нескольким сотрудникам. Все благодаря вашим урокам!! Настроение бомбическое, когда все получается!
здравствуйте можно с вами связаться? я тоже собирался парсить вк и нужен совет
[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. Ты красавчик большое спасибо❤
Ты красавчик тоже. Тебе спасибо
сразу же надо было читать комментарии я на это потратил уйму времени
Красавчик мужчина,от души
Спасибо за 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()
но проблема в том , что кнопка не прожимается и цикл продалжает крутиться н непрожимая кнопку "показать еще"
Спасибо за урок!
Буквально пару уроков назад по парсингу столкнулся с бесконечной прокруткой сайта, но так и не довел до ума автоматическую прокрутку через Selenium.
А тут она реализована.
Подправил свою по образу и подобию, все прекрасно заработало.
Рад что полезно! Большое спасибо за фидбэк!
Я хоть и джава программист, смотрю твои видосики и вообще начал изучать парсинг благодаря тебе. Спасибо за видео
Все мы были нубами. Так что - спасибо, за то что делишься своими навыками. А еще это ж опыт!
Большое спасибо за фидбэк и поддержку!
Красиво, четко, лаконично и еще и работает!!!) Канал находка для меня, благодарю за такой качественный контент)
Большое спасибо за фидбэк! Рад что видео полезны и помогают!
Спасибо огромное за труд! Твой канал это просто энциклопедия знаний, не слушай даунов, ты создаешь безумно полезный и нужный контент. Желаю двигаться только вперед, а мы поддержим 😉 Ты же знаешь)
Большое спасибо за фидбэк и поддержку! 👍
@@PythonToday а что это за ide?
@@brunneng8575 VSCode
@@user19326 Приветствую, авторского курса пока нет. Только веду несколько человек.
@@PythonToday Здравствуйте спасибо за туториалы, очень много нового узнал))!
Скажите а на селениуме можно парсить данные с карты на сайтах по недвижимости ?
Пушка контент, огонь канал, кот талисман)) Успехов в развитии брат, безумно благодарен за проделанную тобой работу и пинок лично для меня. Спасибо тебе большое!
Спасибо дружище) Рад что видео полезны
Благодарю за видео. Толко обучился python, и уже такой бомбический канал, по Парсингу сайтов. Когда проходил задание на обучении этому, помогли Ваши уроки :).
Благодарю за фидбэк! Рад что видео помогают)
Огроменное спасибо за твои труды, двигайся дальше. У тебя очень полезные видео. С помощью твоих видео люди сэкономят кучу времени и нервов!
Спасибо за поддержку!
Нифига себе "если видео было вам полезным и вы узнали что-то новое", да это одно из лучших видео по парсингу, которое я видел, все чётко, подробно, конкретно!!!!
Ваще когда месяц назад наткнулся на твой канал, я был просто в восторге, ибо все просто и офигенно озвучено, без какого либо пафоса, конкретно и ясно, и более того очень точно и профессионально, смотрю более старые видосы, когда время есть...
Все супер, так держать, на днях в спонсоры на патреоне добавлюсь, очень полезные видео 👍🏻👍🏻👍🏻
Спасибо большое за фидбэк и поддержку!
@@PythonToday все, запатронился к тебе :)
Просто лучший!! Без воды и отлично обьясняешь)
Большое спасибо! Рад что интересно и полезно)
Большое спасибо за качественный материал! Каждый урок пишу и "иду" по коду, чтобы все понять. Спасибо!
Спасибо за фидбэк! Рад что видео помогают
PythonToday
ДРУГ ты крут, спасибо тебе за хорошие видосы, ты даешь знания и вдохновляешь!
Большое спасибо за фидбэк!
Как всегда пушка - огоньСмотришь и просто кайфуешь, кучу полезной инфы с каждым просмотренным видосом приобретаю
Спасибо за поддержку!
Интересные методы, спасибо, что поделился. Я не использую bs4 или что-то еще. Только встроенные методы самого Selenium. Скролю скриптом через driver.execure_script(), так как до конца список может грузиться и без всяких индикаторов в виде появляющегося блока. И там добавили уже manager service, чтобы не указывать место к webdriver-у явно, и качать его не нужно, он сам его качает.
Благодарю за фидбэк!
Материал просто огонь! Спасибо за труды!;)
Спасибо большое за поддержку! Рад что полезно 👍
Огромное спасибо. Все просто и доходчиво! Без всякой "воды" и перескакивания !!!!
Огромное спасибо за фидбэк и поддержку!
🔥🔥🔥 Как всегда урок СУПЕР!!! Огромное спасибо!!! (я только-только начинаю самостоятельно изучать Python, пока на самом примитиве)
Благодарю! Рад что полезно и помогает. Главное ежедневно практикуйся
спасибо огромное , очень полезное видео , самый лучший Питон блоггер
Благодарю!
Я человек простой, вижу Ваше видео - ставлю нравку!
Большое спасибо за поддержку!
Огромное спасибо! Всегда с удовольствием слушаю и с удовольствием поддерживаю!
Большое спасибо за фидбэк и поддержку!
2:35 библиокеки! 🤣🤣🤣🤣🤣! PythonToday спс за контент, постоянно очень жду новые видео!:)
Огромное спасибо. Материал бомба!!!
Большое спасибо за фидбэк! Рад что полезно и интересно
Манера объяснение темы на высшем уровне.☀️😇 как и всегда 😊 правда для того что бы вникать, хотя бы нужно знать основы питона. чего всем советую 😊 всем добра, автору здоровья и больше роликов 😅
Огромное спасибо за поддержку!
Я летом начал изучать питон. И только сегодня получил рекомендацию на твои видосы. С первых слов подача цепляет, штош, похоже я здесь залипну)) Лайк, подписка и всё такое! спасибо)
Большое спасибо за фидбэк! Надеюсь видео будут полезны)
Очень круто , спасибо!
Благодарю за фидбэк!
Спасибо за видео! Очень вдохновляет!!!
Большое спасибо! Рад что полезно 👍
вместо переменной "count" можно использовать функцию enumerate() на цикл фор. выглядит это примерно так:
list = ['a', 'b', 'c']
for i, el in enumerate(list):
print(i, el) # 0 a, 1 b, 2 c
*Спасибо тебе большое, очень нравится питон и по твоим урокам обучение ускоряется в несколько раз, оху#**#ный** ты мужик!!!*
Большое спасибо за фидбэк! Рад что полезно
Паршу сайты поставщиков для своего дела, нашел в твоем коде красивые вещи, которые буду применять у себя. Продолжай в том же духе, ты красавчик!
Большое спасибо за фидбэк! Рад что полезно)
Дружище, ты лучший! Спасибо за видео!
Большое спасибо за фидбэк!
Совет: Не стоит использовать time.sleep(n) для ожидания прогрузки страницы или элемента, куда разумнее использовать explicit waits.
В данном случае можт это и сработает нормально, но в случае с selenium использование time.sleep() - моветон
Сайт затупит, инет затупит. Слип пройдет и пизда проге. Так что верный совет
6:23 - если правильно понял, элемент будет тогда и только тогда, когда загрузка полностью окончена. Правильно тебя понял?
Смотри, у selenium есть инструмент explicit wait, он как раз для этого.
Поищи в доках на селен, так вот, задай хоть час, но скрипт продолжить работу в то время и только в то, как элемент будет обнаружен.
Юзается BY, можно выставить, что удобно, в примере xpath, его и юзаю и на вэб, мобилках (юзал).
Видео класс, люблю только selenium, bs4 нет, но без requests никуда, факт.
Очень полезное видео,
Узнал много нового .
Спасибо за подробное объяснение!
Большое спасибо за поддержку! Рад что полезно
Спасибо большое за видео! Очень доходчиво и полезно) хотелось бы ещё уроков на библиотеки, которые ты используешь, более подробно)
Спасибо большое за фидбэк! Рад что полезно
Ого!)
Ви молодець!)
Дякую вам!)
Благодарю за поддержку!
Спасибо за контент))
Очень хорошо рассказываешь!
Благодарю за фидбэк!
Полностью поддерживаю !!!!! Zer0
Теперь ждём на асинцио☺️💃
А работа проделана большая! Ставим класс 👍
Спасибо за фидбэк!
Как всегда лайк! Молодец, приятно смотреть!!!
Большое спасибо за поддержку!
в очередной раз спасибо за труд и материал для практики)))
похоже админы сайта учли свои ошибки и немного его реконструировали, поэтому например: поле сайта клиники и соц сетелей на страницах компаний, теперь лежат каждый в своем теге под отдельным названием и добраться до них стало куда проще))
По ходу написания, заодно попрактиковался в grequests, пропустив через нее итоговую функцию обработки списка собранных ссылок (очень уж понравился мне этот модуль, своей простотой и эффективностью) и получилось даже лучше чем изначально предполагал)) без пауз между запросами скрипт отработал всего за 45 секунд (обработал 243 позиции))
Только 1 раз уже перед финальным сбором уже всей инфы, когда проверял как укладываются все поля в json на срезе из 5 клиник, и ничего ли не пропустил, и не напутал, угодил в капчу. Для пробы просто прошел ее на сайте руками, после чего, перезапустил скрипт и все сработало как часы)))
Спасибо за фидбэк!
За видео респект. Особенно понравился генератор списков, приятно удивился😉
Спасибо за фидбэк! Рад что видео помогают)
Молодчага!!! Спасибо за ролик!!!! Познавательно! Лайк!
Спасибо большое за поддержку!
Идеальный формат!
Благодарю! Рад что интересно и полезно
Обожаю такие видосы.
Спасибо вам огромнейшее!!!
Спасибо за фидбэк!
Просто офигенно!
Благодарю!
супер! Спасибо, очень познавательно!
Большое спасибо!
Ты красавчик! Спасибо тебе
Спасибо за поддержку!
Спасибо большое за видео, было очень полезно и познавательно. Но пришлось основательно переписывать скрипт, так как поменялись методы в библиотеках, теги на сайте и много всего еще прочего!
максимально круто
Отличный урок, спасибо !
Благодарю за фидбэк!
Туториал как обойтись без селиниума)
Привет! Сайт действительно крутой со стороны обучения.
Однако ты прав что можно обойтись без селиума если посидеть.
Кароче тут подгружается страница вариантов POST запроса, JS кода а в ссылке самого запроса есть номера страниц, полученный код кидаем в формат json и вуаля.
У тебя новая подгружаемая страница.
Учитывая что я учусь requests по твоим видео, спасибо!
Ждемс вторую часть заказа с помещением данных в бд)
Спасибо за топовый контент!👍👍
Большое спасибо за фидбэк! Рад что полезно
Что бы без тебя а. Продолжай я Junior по Python у с твоих видео я понял на сколько полезен Парсинг и как его легко делать. Ну да чуть чуть пока хромую по Парсингу но надеюсь твоих видео я обучусь этому лучше. Продолжай без тебя мы бы Яша читали бы инструкцию 🤦🏿♂️ Хорошо что ты снимаешь Спасибо тебе за труд 👍🏻
Спасибо большое за фидбэк! Рад видео полезны и помогают
круто, спасибо
Большое спасибо за фидбэк!
Очень интересное видео, спасибо.
Большое спасибо за фидбэк!
Огонь!)
Классный урок!
Благодарю!
Не без проблем, но все получилось. Спасибо !
Спасибо за фидбэк! Рад что полезно!
коммент в поддержку!!
коммент в поддержку!!
коммент в поддержку!!
Спасибо!
Как всегда, лучший!
Благодарю!
Отличный урок, что сказать
Большое спасибо!
огромное спасибо!!
Просто пушка ))
Большое спасибо!
"... я только учусь, и делюсь практикой, которой мне так не хватало, с менее опытными подписчиками..." Уважаемый! Боюсь представить уровень Вашей компетенции, когда Вы закончите обучение.
В программировании нельзя закончить обучение)
Огонь!!
Это просто вау
Спасибо большое! Рад что интересно
Отлично!
Спасибо!
по больше бы видео по парсингу сайтов
Да вроде итак самый большой плейлист на ютубе 😀
Когда за 30 мин узнал больше чем за 2 онлайн курса
Спасибо большое за фидбэк! Рад что полезно)
Автор Профи!
Подскажите, пожалуйста, как спарсить таблицу целиком с сайта и записать её в хlsх файл при этом транспонируя весь первый столбец в шапку документа?
мастерски 👍👍
Спасибо, но только учусь)
@@PythonToday скромность украшает!
Нетривиальный сайт, действительно весьма поучительный. Впрочем в моей практике самым сложным было иметь дело с обфускаторами и гугл капчей.
Держи мой жирный лайк!!!
Спасибо за поддержку!
Спасибо все классно
Благодарю, рад что полезно!
Хорошая тема!
Благодарю за фидбэк, рад что интересно и полезно!
Круть )))))
Благодарю!
PythonToday: нужно сделать многопоточный парсинг
Super спасибо
Благодарю за фидбэк!
Вот кто дико демпингует на Фрилансе =)
¯\_(ツ)_/¯
Годно!
Спасибо!
@@PythonToday Спасибо что ответил❤️
5k за пол часа, неплохо!
насчет 30 долоров это конечно круто
Ещё больше реальных заказов, ведь это позволяет понять что всё это учишь не зря и кому-то это нужно))
А те кто пишут про тысячи долларов за один заказ зачем парсят сайты? Для поиска самого дорого Роллс-Ройса наверно)))
Большое спасибо за поддержку! Думаю максимум, что они парсят, это глазами клавиатуру)
@@PythonToday ...в онлайн-ферме, капусту поливают и игровое золото собирают...
@@dryuni я бы в своё время от такого бота не отказался)
Начинаем😍
Спасибо за поддержку! )
Спасибо тебе огромное за труд. Много чему научился благодаря тебе. Желаю удачи! И вопрос: а ты для парсинга используешь scrappy?
Большое спасибо за фидбэк! Рад что видео помогают. Использовал scrappy только в нескольких простых проектах.
Парсинг ZOON, схож с парсингом 2GIS, ибо они оба полностью динамические и спарсить их только с bs4 нереально. Я пробовал, потратил 2 дня и даже не смог спарсить основной каскад на первой странице, не разворачивая карточки локаций. Вернее, иногда они всё же парсились при запуске скрипта, но зачастую нет, так как классы подмениваются и генерируется исключение, а id там, само-собой нет, ибо всё DOM дерево и так динамическое. Крч, хоть я и до последнего не хотел учить Selenium, видимо придётся.
Здраствуйте, нравятся ваши видео, но заметил особенность, в вашем коде при использовании selenium всегда нужен вебдрайвер, что не очень удобно. Советую вам использовать undetected_chromedriver . Вебдрайвер не нужен, да и по названию понятно, что оно может еще делать
я не понел а как html файл создался, там же нету кода по соданию файла 8:58
Привет! Спасибо тебе огромное братан!! Небросай это дело! Фишка твоего канала это как ты поистинне охуенно объясняешь, смотрю у других ничего непонятно а у тебя я обучился всему крутому и за это я благодарен ТЕбе! Бро, я очень прошу сделай пожалуйста по больше видеоуроков и по Телеграм ботов и т.п, так как это щяс самая популярная тема и я буду рад увидеть такое видео у тебя на канале! Удачи!
Спасибо большое за урок по парсингу, можешь подсказать, как находить div, если название класса постоянно меняется, заранее спасибо
А вы заказы по парсингу еще делаете? Есть заказ на парсинг сайта со спортивной статистикой
Привет, почему executable_path может подсвечиваться жёлтым? Программа на нем ломается
Спасибо за видео! Сделай пжл про парсинг статичных страниц, если они автоматом не подгруждаются и надо ручками странички менять - очень сейчас такая задачка нужная для решения)
Покажи пример такой страницы?
Для обрезания пробелов можно юзнуть file.read().split('
')
Благодарю!
зачем указывать перенос строки, когда по-дефолту сплитует по всем пробелам/переносам/табуляциям?
Вопрос: А почему ты используешь time.sleep(),если можно использовать driver.implicitly_wait()
Эта штука ждёт пока весь контент подгрузится и выполняет дальше код, а time.sleep() только тормозит скорость выполнения
Возможно я что-то незнаю🤔🤔🤔
Нет, ты полностью прав. В данном видео решил не использовать wail/until и implicitly_wait
@@PythonToday Понял, но я заметил такую штуку , что если использовать implicity_wait(),то скрипт не будет видит все елементы(просто у меня такое было), но всё же попробовал как ты сделать паузы через time.sleep(), то начало работать
@@WHT_-ue2rl Тоже сейчас вспомнил что была похожая проблема. Думаю правильнее всего использовать wait/until ожидать прогрузки и дальше работать.
@@PythonTodayПросто я раньше пробовал по твоим видосикам писать свои скрипты,но они не правильно работали, но когда начал ставить перерывы проблем стало меньше, но опять же селениум не видел некоторых елементов либо часть елементов, но пока решил пересесть на тайм.слип()