README.md

Код использует наработки из репозитория Tomich37 на github

Код парсера Я.Форм с помощью selenium  

Я.Формы на данный момент позволяют получить результаты опроса либо в ручную через страницу формы, либо если у вас есть свой сервис/сервер куда можно постучаться по API. В иных случаях, приходится использовать эмуляцию, чтобы автоматизировать ручной сбор информации.  

Скрипт позволяет автоматизировать ручную сборку информации и её обработку. В исходном репозитории Tomich37 на github реализация через классы, мне было удобнее делать через функции. Также, здесь будет отправлять файл по почте, а у Tomich37 через тг-бота.

Общая логика

1) Парсер запускается в определённое время по рабочим дням.
2) Через эмуляцию Chrome скачиваем файл с ответами из форм в формате xlsx.
3) Обрабатываем нужным нам образом файлы. Исходный файл удаляем. Обработанный сохраняем.
4) Отправляем по почте обработанный файл.

Запуск

  • Для запуска парсера потребуется Chrome, драйвер к нему. Браузер должен быть закрыт при старте скрипта.
  • Нужно залогиниться (чтобы появились данные пользователя) в аккаунт с формой.
  • В файле config.py нужно прописать:
sender_email =  "example@yandex.ru" # Ваш email
sender_password = "password_here" # Пароль для приложений в настройках Яндекс.безопасность
form_url = "WEB_PATH_HERE" # веб-адрес админской панели формы, там где есть кнопка скачать ответы
save_dir = r'C:\Users\User\' #путь до папки куда сохранять получившиеся файлы
download_path = r'C:\Users\User\Downloads' #папка куда скачивает файлы 
chrome_driver_path = r'C:\Users\User\...\chromedriver-win64\chromedriver-win64' # Путь к драйверу браузера
user_data_dir = r'C:\Users\User\AppData\Local\Google\Chrome\User Data' # Путь к папке с профилем Chrome
receivers = ["example@yandex.ru","example_1@yandex.ru"] # Адресаты
schedules = ['09:00', '10:00'] # Время запускания файла
body = "SOME TEXT HERE" # текст письма
  • Поставить файл на автозапуск с нужными датами или условиями
Описание

Парсер ответов на Я.формы

Конвейеры
0 успешных
0 с ошибкой