Python Практический. Автоматизация браузера Python Selenium, Скрапинг, скачивание выписок ЕГРЮЛ

  Рет қаралды 4,616

Товарищ Excel - Power Query, Power Pivot, Python

Товарищ Excel - Power Query, Power Pivot, Python

4 жыл бұрын

В этом уроке мы познакомимся с модулем Selenium для Python. Он позволяет автоматизировать работу браузера, например, открывать веб-страницы, заполнять формы, получать содержимое блоков и скачивать файлы. Мы изучим основы Selenium на примере получения данных ЕГРЮЛ по ИНН и автоматическому скачиванию выписок ЕГРЮЛ.
Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/0f...
Файлы для спонсоров ВК: comrade.excel?w=wall-1...
Файлы для спонсоров KZfaq: • Post
Индивидуальное обучение: comrade-xl.ru/pq-training/
Страница: comrade-xl.ru/2020/05/30/pyth...

Пікірлер: 52
@comrade_excel
@comrade_excel 4 жыл бұрын
Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/0f9ea150-d887-4121-877a-ffcb001295d2?share=post_link Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_501 Файлы для спонсоров KZfaq: kzfaq.infoUgzfAtbItdHOXOngzCZ4AaABCQ Индивидуальное обучение: comrade-xl.ru/pq-training/ Страница: comrade-xl.ru/2020/05/30/python-selenium-browser-automation/
@evgenytorukhov8500
@evgenytorukhov8500 3 жыл бұрын
подписался, оплатил 149 р. а как скачать материалы не пойму
@comrade_excel
@comrade_excel 3 жыл бұрын
@@evgenytorukhov8500 kzfaq.infoUgyBLhUzjCE54oAkfNJ4AaABCQ
@VGCor
@VGCor 2 жыл бұрын
Пришёл, увидел значок канала - подписался 👍
@comrade_excel
@comrade_excel 4 жыл бұрын
Курсы на моем канале уникальны и абсолютно бесплатны. Буду рад, если вы поддержите мою деятельность рублем: Банковская карта: www.tinkoff.ru/sl/8Zkwhu7AL0D Яндекс.Деньги: yasobe.ru/na/podderzhka_kanala_tovariw_excel Другая система или страна: comrade-xl.ru/donate/ Стать спонсором канала: kzfaq.info/love/wAru3vDmH-IdYtwK7JWN4wjoin
@user-ql5cp1cw5x
@user-ql5cp1cw5x 4 жыл бұрын
Спасибо, за видео, побольше на тему парсинга видео надо, очень интересно.
@comrade_excel
@comrade_excel 4 жыл бұрын
Рад, что вам понравилось.
@user-ql5cp1cw5x
@user-ql5cp1cw5x 4 жыл бұрын
@@comrade_excel Могли бы сделать обзор подробный на анаконда навигатор, например в чем отличия спайдера от юпитера итд, и как установить с русским меню, у некоторых спайдер на русском . по данной теметике вообще мало видео, нету основ, это многие перепрыгивают
@user-ql5cp1cw5x
@user-ql5cp1cw5x 4 жыл бұрын
Здравствуйте, подскажите что делать ? C:\Users\Evgenij\AppData\Local\Programs\Python\Python37\Scripts>pip Usage: pip [options] Commands: install Install packages. итд, закрываю ком строку затем открываю и заново ввожу и снова C:\Windows\system32>pip "pip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
@evgeniemyikow5503
@evgeniemyikow5503 2 жыл бұрын
Можно как то получить инфу по тому с какой скоростью шла скачка файла?
@nikbo6863
@nikbo6863 3 жыл бұрын
Тимур,подскажите пожалуйста. Какой параметр необходимо прописывать,если нужно на сайте выбирать из раскрывающегося списка поочередно значения(их конечное количество неизвестно,) и нажимать Enter (после чего происходит выгрузка )и скачивать результат обработки? Спасибо
@comrade_excel
@comrade_excel 3 жыл бұрын
Скорее всего все содержимое раскрывающегося списка находится внутри тэгов select и value. Нужно все значения этих тэгов получить и потом перебирать.
@evgenytorukhov8500
@evgenytorukhov8500 2 жыл бұрын
Так как в итоге автоматически скачивать выписки по нескольким ИНН? Что именно нужно в коде поменять?
@comrade_excel
@comrade_excel 2 жыл бұрын
Готовый код есть в приложенном файле. Просто нужно сделать цикл.
@nikbo6863
@nikbo6863 4 жыл бұрын
Тимур, видео СУПЕР! Будет ли такая возможность продемонстрировать следующую задачу: Из MS Outlook сохраняются файлы эксель с определенными именами и складываются в папку по дням месяца и времени поступления пример файла "EX_manage_13мая 13_00_00.xlsx", файлы поступают каждый час, время поступления варьируется от 1 до 15 минут. Каждый час должно прийти 5 файлов, чтобы их собрать в полный отчет за час. У Python должна быть прописана процедура на ожидание прихода всех пяти файлов, после чего должен запустить следующие действия - Открыть каждый файл, запустить соответствующий макрос (имя макроса схоже с именем файла, после обработки каждого файла дождаться завершения выполнения макроса (так как столкнулся с проблемой, что обновление подключений в PowerQuery иногда сбивает последующее обновление группировки сводной таблицы), переместить файлы в папку отработанных файлов и только после этого запустить новый файл, который бы группировал все 5 файлов в один, с добавлением имен файлов в общей таблице (количество столбцов в таблице у всех разное) и после завершения общего обновления оповестить уведомлением (но не из VBA).
@comrade_excel
@comrade_excel 4 жыл бұрын
У меня будет урок по автоматизации мыши и клавиатуры. И еще по автоматизации почты. А вы уже сами придумывайте как это будете применять и допиливать.
@nikbo6863
@nikbo6863 4 жыл бұрын
@@comrade_excel А по поводу одновременного обновления и Запросов и данных сводных таблиц какое Ваше мнение? Как же все таки правильно обновлять?
@comrade_excel
@comrade_excel 4 жыл бұрын
Не понимаю, что за группировки сводных таблиц у вас сбиваются?
@nikbo6863
@nikbo6863 4 жыл бұрын
​@@comrade_excel вот пример cloud.mail.ru/public/u2ji/kDkmVDdxX интересует как именно последовательно запустить обновление. Сначала первый запрос должен обновится, потом второй и так до 5-того (kzfaq.info/get/bejne/pLyGm8-e37PVgGg.html&lc=UgyYy7s2KHTTbNMdlQF4AaABAg.99S8j7G6irg99SYvDO9eI4&feature=em-comments тут оставлял комментарий, они связаны между собой)
@comrade_excel
@comrade_excel 4 жыл бұрын
@@nikbo6863 Что у вас сбивается, если просто обновить все?
@denystry
@denystry 4 жыл бұрын
Доброго времени суток Тимур! Подскажите как решить проблему: У меня создано порядка 10 подключений к данным, с них строятся таблицы на 10 листах. В 10 подключениях часто обновляются данные , мне необходимо к примеру нажав кнопку на 11 листе где сводится часть информации обновить информацию на 5 из 10 листов. А на 12 листе 3 листа .kzfaq.info/get/bejne/n8-ImqdknJ_ZgZc.html залил видео
@comrade_excel
@comrade_excel 4 жыл бұрын
Просто примените команду для обновления таблицы к нужным таблицам.
@denystry
@denystry 4 жыл бұрын
@@comrade_excel sheets("имя").refresh?
@comrade_excel
@comrade_excel 4 жыл бұрын
Запустите макрорекордер и обновите любую таблицу, которая строится по запросу. В редакторе VBA вы увидите какой командой обновляется таблица с запросом.
@nikbo6863
@nikbo6863 4 жыл бұрын
Полагал,что у меня только такие задумки,но теперь понимаю,что не одинок в этом мире :))
@user-hj9po8zr1u
@user-hj9po8zr1u 4 жыл бұрын
Скачал geckodriver, но в архиве нет readme, куда его закидывать? тк дальше юпитер ругается FileNotFoundError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py in start(self) 75 stderr=self.log_file, ---> 76 stdin=PIPE) 77 except TypeError: C:\ProgramData\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text) 799 errread, errwrite, --> 800 restore_signals, start_new_session) 801 except: C:\ProgramData\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session) 1206 os.fspath(cwd) if cwd is not None else None, -> 1207 startupinfo) 1208 finally: FileNotFoundError: [WinError 2] Не удается найти указанный файл During handling of the above exception, another exception occurred: WebDriverException Traceback (most recent call last) in ----> 1 browser = webdriver.Firefox() 2 browser.get('egrul.nalog.ru/index.html') C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy, executable_path, options, service_log_path, firefox_options, service_args, desired_capabilities, log_path, keep_alive) 162 service_args=service_args, 163 log_path=service_log_path) --> 164 self.service.start() 165 166 capabilities.update(options.to_capabilities()) C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py in start(self) 81 raise WebDriverException( 82 "'%s' executable needs to be in PATH. %s" % ( ---> 83 os.path.basename(self.path), self.start_error_message) 84 ) 85 elif err.errno == errno.EACCES: WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
@user-hj9po8zr1u
@user-hj9po8zr1u 4 жыл бұрын
нашел статью , руками путь прописал browser = webdriver.Firefox('C:\\driver\\geckodriver.exe') browser.get('egrul.nalog.ru/index.html') выдает ошибку NotADirectoryError Traceback (most recent call last) in ----> 1 browser = webdriver.Firefox('C:\\driver\\geckodriver.exe') 2 browser.get('egrul.nalog.ru/index.html') C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy, executable_path, options, service_log_path, firefox_options, service_args, desired_capabilities, log_path, keep_alive) 149 if firefox_profile is not None: 150 if isinstance(firefox_profile, basestring): --> 151 firefox_profile = FirefoxProfile(firefox_profile) 152 self.profile = firefox_profile 153 options.profile = firefox_profile C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py in __init__(self, profile_directory) 78 newprof = os.path.join(self.tempfolder, "webdriver-py-profilecopy") 79 shutil.copytree(self.profile_dir, newprof, ---> 80 ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock")) 81 self.profile_dir = newprof 82 os.chmod(self.profile_dir, 0o755) C:\ProgramData\Anaconda3\lib\shutil.py in copytree(src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks) 316 317 """ --> 318 names = os.listdir(src) 319 if ignore is not None: 320 ignored_names = ignore(src, names) NotADirectoryError: [WinError 267] Неверно задано имя папки: 'C:\\driver\\geckodriver.exe'
@user-hj9po8zr1u
@user-hj9po8zr1u 4 жыл бұрын
исправил browser = webdriver.Firefox('C:\driver') browser.get('egrul.nalog.ru/index.html') теперь вот так FileNotFoundError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py in start(self) 75 stderr=self.log_file, ---> 76 stdin=PIPE) 77 except TypeError: C:\ProgramData\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text) 799 errread, errwrite, --> 800 restore_signals, start_new_session) 801 except: C:\ProgramData\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session) 1206 os.fspath(cwd) if cwd is not None else None, -> 1207 startupinfo) 1208 finally: FileNotFoundError: [WinError 2] Не удается найти указанный файл During handling of the above exception, another exception occurred: WebDriverException Traceback (most recent call last) in ----> 1 browser = webdriver.Firefox('C:\driver') 2 browser.get('egrul.nalog.ru/index.html') C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy, executable_path, options, service_log_path, firefox_options, service_args, desired_capabilities, log_path, keep_alive) 162 service_args=service_args, 163 log_path=service_log_path) --> 164 self.service.start() 165 166 capabilities.update(options.to_capabilities()) C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py in start(self) 81 raise WebDriverException( 82 "'%s' executable needs to be in PATH. %s" % ( ---> 83 os.path.basename(self.path), self.start_error_message) 84 ) 85 elif err.errno == errno.EACCES: WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
@user-hj9po8zr1u
@user-hj9po8zr1u 4 жыл бұрын
как поправить WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
@user-hj9po8zr1u
@user-hj9po8zr1u 4 жыл бұрын
добавил в переменны среды C:\driver\geckodriver.exe не помогает что делаю не так?
@comrade_excel
@comrade_excel 4 жыл бұрын
EXE файл нужно положить в папку с установленным Python.
@alexandrus
@alexandrus 4 жыл бұрын
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) in ----> 1 from selenium import webdriver 2 from selenium.webdriver.common.keys import Keys 3 import time ModuleNotFoundError: No module named 'selenium' Думаю, я не смог установить гекодривера Где именно это должно быть добавлено? Спасибо
@comrade_excel
@comrade_excel 4 жыл бұрын
Вы не установили модуль. В промпте нужно набрать: pip install selenium
@alexandrus
@alexandrus 4 жыл бұрын
@@comrade_excel C:\Users\Sasha PC>pip3 install selenium Requirement already satisfied: selenium in c:\python38\lib\site-packages (3.141.0) Requirement already satisfied: urllib3 in c:\python38\lib\site-packages (from selenium) (1.25.9) похоже я установил
@user-wr5rc5pp8r
@user-wr5rc5pp8r 4 жыл бұрын
Богоподобно.
@Pureshka_S_Kotletkoy
@Pureshka_S_Kotletkoy Жыл бұрын
не работает нихрена, python не может найти элементы на сайте
Python Практический. Множественная замена текста с Pandas
9:36
Товарищ Excel - Power Query, Power Pivot, Python
Рет қаралды 2,8 М.
11  Имитация действий пользователя в браузере
23:17
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 33 МЛН
Spot The Fake Animal For $10,000
00:40
MrBeast
Рет қаралды 181 МЛН
🤔Какой Орган самый длинный ? #shorts
00:42
ПРОВЕРИЛ АРБУЗЫ #shorts
00:34
Паша Осадчий
Рет қаралды 7 МЛН
Python Практический. Объединить книги Excel
14:39
Товарищ Excel - Power Query, Power Pivot, Python
Рет қаралды 8 М.
Самое простое объяснение нейросети
16:30
Программный Кот
Рет қаралды 115 М.
Power Query Практический №15. List Contains, Пользовательская функция
7:21
Товарищ Excel - Power Query, Power Pivot, Python
Рет қаралды 6 М.
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 33 МЛН