🇺🇦Допомогти Україні

Генерація фейкових даних з Faker

Обкладинка допису: Генерація фейкових даних з Faker
У цій статті ми поговоримо про бібліотеку Faker, яка дозволяє генерувати фейкові дані. Ця бібліотека може бути корисною при тестуванні, заповненні баз даних і т. д.
Встановлення
Перед початком використання функцій даної бібліотеки її треба встановити. Команди для встановлення цієї бібліотеки для різних ОС наведені нижче.
Windows:
pip install faker
MacOS:
pip3 install faker
Linux:
pip install faker
Можливості бібліотеки
Тепер настав час розглянути можливості даної бібліотеки. Вона здатна генерувати великий спектр інформації і зараз ми поглянемо на реалізацію її функцій.
Опис функцій:
  • first_name() — генерує випадкове ім’я;
  • last_name() — генерує випадкове прізвище;
  • first_name_male() — генерує випадкове чоловіче ім’я;
  • first_name_female() — генерує випадкове жіноче ім’я;
  • name() — генерує ім’я та прізвище;
  • country() — генерує назву випадкової країни;
  • city() — генерує назву випадкового міста;
  • text() — генерує випадковий текст;
  • email() — генерує випадкову адресу електронної пошти;
  • latitude() — генерує випадкове значення широти;
  • longitude() — генерує випадкове значення довготи;
  • url() — генерує випадкову адресу сайту;
  • address() — генерує випадкову фізичну адресу проживаня;
  • ipv4() — генерує випадкову IP адресу версії 4;
  • mac_adress() — генерує випадкову мак адресу.
Приклади застосування функцій
Приклад використання функцій first_name(), last_name(), first_name_male(), first_name_female(), name(), country(), city(), latitude(), longitude(), address(), ipv4(), mac_adress().
Тут ми спочатку імпортували бібліотеку, а далі створили екземпляр об’єкта fake.
from faker import Faker
fake = Faker()
Створили функцію, яка генерує фейкові дані. Конкретно у цій функції ми згенерували ім’я та прізвище чоловічої особи:
def male_person_info():
    print("Ім'я:", fake.first_name_male())
    print("Прізвище:", fake.last_name_male())
    print("Країна:", fake.country())
    print("Місто:", fake.city())
    print("Адреса:", fake.address())
    print("Широта та довгота:", fake.latitude(), fake.longitude())
    print("IP адреса:", fake.ipv4())
    print("Mac адреса:", fake.mac_address())


male_person_info()
Отримали такий результат:
Ім'я: Brandon
Прізвище: Cannon
Країна: Egypt
Місто: Chelseafort
Адреса: 351 Martin Circle Suite 766
Joshuamouth, CT 11106
Широта та довгота: -43.8221095 -80.241553
IP адреса: 153.50.143.162
Mac адреса: 38:09:21:5f:3e:97
Тепер згенеруємо все тіж дані, але для жіночої особи. Для цього ми створили окрему функцію:
def female_person_info():
    print("Ім'я:", fake.first_name_female())
    print("Прізвище:", fake.last_name_female())
    print("Країна:", fake.country())
    print("Місто:", fake.city())
    print("Адреса:", fake.address())
    print("Широта та довгота:", fake.latitude(), fake.longitude())
    print("IP адреса:", fake.ipv4())
    print("Mac адреса:", fake.mac_address())


female_person_info()
У підсумку отримали такі дані:
Ім'я: Linda
Прізвище: Ramsey
Країна: Luxembourg
Місто: New Brianna
Адреса: 98035 Reyes Spring
Jennifermouth, VT 09997
Широта та довгота: -61.4782225 -56.086526
IP адреса: 145.77.94.128
Mac адреса: 16:0f:71:24:bb:4c
Також, як вже було зазначено раніше, можна просто генерувати ім’я та прізвище або одразу повне ім’я без прив’язки до конкретної статі завдяки тим же функціям first_name(), last_name(), name(). Нижче наведений черговий приклад:
print("Ім'я:", fake.first_name())
print("Прізвище:", fake.last_name())
print("Повне ім'я:", fake.name())
Результат:
Ім'я: Judy
Прізвище: Lopez
Повне ім'я: Todd Allen
Далі розглядаємо функції text(), email(), url(). Їх реалізацію можна побачити тут:
print(f"Текст: {fake.text()}\n"
      f"================================\n"
      f"Електронна пошта: {fake.email()}\n"
      f"Веб адреса: {fake.url()}")
Отриманий результат:
Текст: Available address miss. Especially for time nice rate find fire.
Tonight different dog operation box TV benefit add. Feeling owner three owner window enter show. Whatever what owner.
================================
Електронна пошта: [email protected]
Веб адреса: http://www.williams-williamson.com/
Тепер хочу показати одну особливість — у бібліотеці можна зробити локалізацію. Тобто щоб дані відображалися саме обраною нами мовою. Таким чином, передавши у Faker() в якості параметра строку “uk_UA“ ми отримаємо українську локалізацію. Це показано нижче:
from faker import Faker
fake = Faker("uk_UA")
Повернемося до наших функцій male_person_info() та female_person_info(), щоб поглянути на їх результати з українською локалізацією.
Ім'я: Євген
Прізвище: Артюшенко
Країна: Лесото
Місто: хутір Новоград-Волинський
Адреса: вулиця Палубний, буд. 8, Лубни, 23328
Широта та довгота: -24.4888925 105.932463
IP адреса: 138.15.83.170
Mac адреса: 66:a1:4d:81:8f:6f
Ім'я: Ірина Прізвище: Аронець Країна: Болівія Місто: місто Білогірськ Адреса: узвіз Мала Садова, буд. 635 кв. 6, Бучач, 54468 Широта та довгота: -80.961546 2.427819 IP адреса: 74.93.171.177 Mac адреса: 16:40:7d:18:29:a4
Як бачимо, дані відображаються на український лад. На цьому все. Насправді ця бібліотека має набагато більше функцій, ніж я показав у цій статті.
Сподіваюсь ця стаття сподобається вам! Якщо ви хочете читати більше матеріалу від мене — долучайтеся до мого телеграм каналу. Дякую за увагу!

Цей допис поки що не має жодних доповнень від автора/ки.

Що таке Colorama та як надавати тексту колір завдяки ній?
04 вер., 22:37

Що таке Colorama та як надавати тексту колір завдяки ній?

Magnifique Code
Magnifique Code @mystiquelord123
Скорочення посилань за допомогою бібліотеки pyshorteners
06 вер., 13:57

Скорочення посилань за допомогою бібліотеки pyshorteners

Magnifique Code
Magnifique Code @mystiquelord123