JavaRush /Курси /Python SELF UA /Збір вимог та планування проєкту з автоматизованого збору...

Збір вимог та планування проєкту з автоматизованого збору даних

Python SELF UA
Рівень 37 , Лекція 1
Відкрита

Давайте почнемо з того, навіщо це нам потрібно. Автоматизація рутинних завдань — це як мати домашнього робота, який виконує за тебе всю нудну роботу, поки ти насолоджуєшся життям. Selenium — це один із таких "роботів", тільки в світі програмування. Він може взаємодіяти з веб-сторінками так, як це робила б людина. Включаємо уяву і уявляємо собі, що твій бот може автоматично збирати дані, заповнювати форми або перевіряти ціни на улюблені товари. Круто, чи не так?

Але перш ніж розпочати проєкт, важливо визначити, що саме й як ми плануємо автоматизувати. Давайте розглянемо кроки, які допоможуть нам спланувати наш проєкт.

1. Аналіз вимог до проєкту

Розбір завдань, поставлених перед проєктом

У світі програмування, як і на кухні, перш ніж почати готувати, треба зрозуміти, що ти хочеш отримати на виході. Аналогія з рецептом цілком доречна: у нас є список "інгредієнтів" — даних, які необхідно зібрати. Після чого ми вирішуємо, яким "кулінарним" способом будемо їх отримувати.

Уявімо, що ти працюєш у маркетинговій компанії, і тобі потрібно збирати дані про конкурентів. Запитання, які ти собі поставиш, такі:

  • Які дані мені потрібні? Наприклад, ціни, відгуки, рейтинг тощо.
  • Скільки часу це займе, якщо робити вручну?
  • Які вебсайти чи сервіси я буду використовувати?

Формування списку необхідних даних і способів їх отримання

Створення списку необхідних даних — важливий крок. Він допомагає гарантувати, що твій бот збере всі важливі дані, а не забуде щось важливе, подібно до загублених шкарпеток у пральній машинці.

Припустимо, ми плануємо зібрати дані про продукти на сторінці інтернет-магазину. Нам потрібні:

  • Назви продуктів.
  • Ціни.
  • Інформація про наявність.

Тепер, коли ми маємо список даних, нам потрібно подумати про те, як отримувати ці дані. Для цього ми можемо використовувати методи Selenium, такі як find_element_by_id, find_elements_by_class_name та інші. Але про це ми поговоримо в наступній лекції, а поки просто знай, що бот буде "навчений" знаходити потрібну інформацію, як досвідчений детектив!

Вибір відповідних вебсайтів і сервісів для збору даних

Тепер час прийняти важливе рішення: вибір джерел даних. Це як обрати правильне джерело новин у розвідці — ми шукаємо надійні та структуровані веб-сторінки.

Припустимо, ми збираємо дані про книги. Ми можемо обрати такі сайти, як Amazon чи Goodreads. Проте важливо переконатися, що обрані сайти не мають обмежень на збір даних. Невелика порада: зверни увагу на файли robots.txt — вони зазвичай містять інформацію про те, дозволено чи ні вебскрейпінг на сайті.

2. Планування етапів розробки

Послідовність дій і прив'язка до завдань

Тепер, коли у нас є всі інгредієнти, пора планувати процес "приготування". У контексті розробки послідовність дій має вирішальне значення. Це як дотримуватися порядку при випічці торта: спочатку замісити тісто, потім випікати. У нашому випадку, це може виглядати так:

  1. Аутентифікація на сайті (якщо потрібно).
  2. Пошук і отримання даних.
  3. Збереження даних у потрібному форматі.

Які завдання будуть включені в кожен етап? Пам'ятай, у тебе є вся свобода додати будь-які кроки для оптимізації.

Ресурсне планування та розподіл завдань

Якщо ти працюєш у команді, планування ресурсів і розподіл завдань — це твій ключ до успішного проєкту. Визнач, хто буде відповідати за написання коду, хто за тестування, а хто за домашні завдання... ой, тобто, за документування.

Працюєш сам? Не біда! Просто розділи завдання на менші частини і встанови собі дедлайни. Не забувай перевіряти себе — це допоможе уникнути написання "магічного коду", який важко відладити (всі ми знаємо, що він може бути не дуже дружелюбним).

Оцінка ризиків і визначення способів їх мінімізації

Кожен проєкт — це мініпригоди, і як будь-який хороший пригодницький фільм, він може мати свої пастки. Розглянемо потенційні ризики твого проєкту:

  • Зміни у структурі сайту, з яким працює бот.
  • Обмеження на кількість запитів до сайту.
  • Можливі помилки в коді.

Як зменшити ці ризики? Завжди май план "Б" і будь готовий адаптуватися. Наприклад, використовуй гнучку структуру коду, щоб легко змінювати вибірку даних при зміні сайту. Або налаштуй ліміт на кількість запитів в одиницю часу, щоб уникнути блокувань.

Планування і збір вимог — це фундамент твого проєкту. Спершу може здатися, що це схоже на роботу архітектора, що проєктує будівлю: потрібно врахувати всі нюанси і дрібниці. Але як тільки ти закладеш цей фундамент, твоя автоматизація працюватиме, як справжня скрипка Страдіварі — плавно і без сучка-стрічки.

Ну що, готовий до занурення в світ автоматизованих ботів? У наступній лекції ми почнемо створювати функції для пошуку та взаємодії з елементами на веб-сторінці. Буде весело — як у фільмі про Джеймса Бонда, тільки наш бот буде агент 404!

3. Історія появи Selenium

У 2004 році розробник Джейсон Хаггінс, працюючи в ThoughtWorks, зіткнувся з необхідністю автоматизувати тестування внутрішнього веб-застосунку для обліку робочого часу і витрат. Щоб спростити цей процес, він створив інструмент на JavaScript, названий JavaScriptTestRunner, який пізніше став відомий як Selenium Core. Цікаво, що назва «Selenium» виникла з жарту: Хаггінс зазначив, що селен є антидотом при отруєнні ртуттю, натякаючи на конкуруючий продукт «Mercury Interactive».

Цей інструмент швидко привернув увагу колег, і незабаром до проєкту приєдналися інші розробники, такі як Пол Хаммант, який запропонував відкрити вихідний код і розширити можливості Selenium для роботи з різними мовами програмування. Так почалася еволюція Selenium, що перетворила його на один з найпопулярніших інструментів для автоматизації тестування вебзастосунків.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ