Массовый Fake name generator с помощью Python


Массовый fake name генератор с помощью Python

Регистрации в любых сервисах требуют данных, но данные не всегда доступны в нужных объемах. В некоторых случаях правдоподобность информации может играть не последнюю роль.

Чем больше доменов и сервисов мы регистрируем, тем больше данных нам необходимо, тратить время на единичную генерацию не очень удобно и практично. Для этого нужно выделение дополнительных ресурсов и дополнительных расходов.

Поэтому мы решили показать как работает fake name генератор на Python для генерации данных и решения рутинных задач при регистрации новых аккаунтов. Все работает достаточно просто, генерация фейковых данных производится с помощью библиотеки faker. Вы можете просто скопировать данный код и генерировать столько данных, сколько необходимо для выполнения задач.

Приступим:

1. Для начала нам нужна библиотека, которая поможет нам генерировать данные, поэтому первым делом, открываем командную строку или терминал и устанавливаем pip install faker

2. Также для данного обработки понадобится еще одна библиотека, которая поможет нам создать фрейм данных pip install pandas

3. И для работы с таблицами нам необходимо установить библиотеку openpyxl - pip install openpyxl

Когда все необходимые библиотеки установлены, можем приступать к коду:

4. Импортируем библиотеки:


    from faker import Faker
    import pandas as pd

5. Присваиваем переменной функцию и создаем словарь:


    fake = Faker()
    all_names = {}

6. Создадим цикл в котором укажем какое количество раз необходимо сгенерировать фейки:


    for z in range(100):

7. Укажем локаль (гео фейковых имен) создающихся фейковых данных:


    fake = Faker(['en_US'])

8. Следующим шагом будет обращение к модулю с просьбой сгенерировать нам, те данные, которые необходимо, ВНИМАНИЕ все данные фейковые и не связаны с настоящими людьми, все совпадения случайны!!! Вам необходимо выбрать строки, которые вам нужны, а остальные можно удалить. Если же строки нужны все, вставляем код полностью.


    all_names.setdefault("Имя и фамилия", []).append(fake.name())
    all_names.setdefault("Полный адрес", []).append(fake.address())
    all_names.setdefault("Телефон", []).append(fake.phone_number())
    all_names.setdefault("Банковский счет", []).append(fake.aba())
    all_names.setdefault("Город", []).append(fake.city())
    all_names.setdefault("Страна", []).append(fake.country())
    all_names.setdefault("Индекс", []).append(fake.postcode())
    all_names.setdefault("Улица", []).append(fake.street_address())
    all_names.setdefault("Пароль", []).append(fake.pystr())
    all_names.setdefault("e-mail (фейковый))", []).append(fake.free_email())
    all_names.setdefault("Номер кредитной карты", []).append(fake.credit_card_number())
    all_names.setdefault("Компания", []).append(fake.company())
    all_names.setdefault("Должность", []).append(fake.job())
    all_names.setdefault("Дата рождения", []).append(fake.date())

9. Данные созданы, но нам их нужно систематизировать или проще говоря сгруппировать, для этого применим следующий код, который создаст фрейм данных или проще говоря таблицу:


df = pd.DataFrame(data=all_names)
print(df) #выводим таблицу, чтобы проверить генерацию

10. И если код отработал верно, а он отрабатывает верно)) Теперь эти данные неплохо было бы сразу же залить в таблицу excel, что мы и сделаем с помощью следующего кода:


df.to_excel('./fakenamegeneration.xlsx') #таблица будет создана в path автоматически,
если необходимо сохранить таблицу в другом месте, просто укажите путь.

С помощью данного кода будут сгенерированы фейковые данные и сохранены в таблице excel, теперь продублируем цельный код, чтобы было проще копировать:))):


from faker import Faker
import pandas as pd

fake = Faker()
all_names = {}

for z in range(100):
    #возможно создание данных из нескольких локаций fake = Faker(['en_US', 'ja_JP'])
    fake = Faker(['en_US'])
    all_names.setdefault("Имя и фамилия", []).append(fake.name())
    all_names.setdefault("Полный адрес", []).append(fake.address())
    all_names.setdefault("Телефон", []).append(fake.phone_number())
    all_names.setdefault("Банковский счет", []).append(fake.aba())
    all_names.setdefault("Город", []).append(fake.city())
    all_names.setdefault("Страна", []).append(fake.country())
    all_names.setdefault("Индекс", []).append(fake.postcode())
    all_names.setdefault("Улица", []).append(fake.street_address())
    all_names.setdefault("Пароль", []).append(fake.pystr())
    all_names.setdefault("e-mail (фейковый))", []).append(fake.free_email())
    all_names.setdefault("Номер кредитной карты", []).append(fake.credit_card_number())
    all_names.setdefault("Компания", []).append(fake.company())
    all_names.setdefault("Должность", []).append(fake.job())
    all_names.setdefault("Дата рождения", []).append(fake.date())
    

df = pd.DataFrame(data=all_names)
print(df)

df.to_excel('./fakenamegeneration.xlsx')

Подписывайтесь на наш телеграм канал @py4seo, мы уже работаем над следующим контентом...если код был вам полезен, отправьте его своим друзьям и знакомым, это поможет узнать о нашем канале, а нам публиковать больше нового полезного контента.

Как всегда, не забудьте про отступы в коде, проверьте чтобы после вставки, код полностью соответствовал тому, который указан.

Если код не работает, пишите в телеграм админу @sky_weaver

Доступные гео фейковых данных: Locale ar_AA, Locale ar_AE, Locale ar_EG, Locale ar_JO, Locale ar_PS, Locale ar_SA, Locale bg_BG, Locale bs_BA, Locale cs_CZ, Locale da_DK, Locale de, Locale de_AT, Locale de_CH, Locale de_DE, Locale dk_DK, Locale el_CY, Locale el_GR, Locale en, Locale en_AU, Locale en_CA, Locale en_GB, Locale en_IE, Locale en_IN, Locale en_NZ, Locale en_PH, Locale en_TH, Locale en_US, Locale es, Locale es_CA, Locale es_ES, Locale es_MX, Locale et_EE, Locale fa_IR, Locale fi_FI, Locale fil_PH, Locale fr_CA, Locale fr_CH, Locale fr_FR, Locale fr_QC, Locale ga_IE, Locale he_IL, Locale hi_IN, Locale hr_HR, Locale hu_HU, Locale hy_AM, Locale id_ID, Locale it_CH, Locale it_IT, Locale ja_JP, Locale ka_GE, Locale ko_KR, Locale la, Locale lb_LU, Locale lt_LT, Locale lv_LV, Locale mt_MT, Locale ne_NP, Locale nl_BE, Locale nl_NL, Locale no_NO, Locale or_IN, Locale pl_PL, Locale pt_BR, Locale pt_PT, Locale ro_RO, Locale ru_RU, Locale sk_SK, Locale sl_SI, Locale sv_SE, Locale ta_IN, Locale th, Locale th_TH, Locale tl_PH, Locale tr_TR, Locale tw_GH, Locale uk_UA, Locale zh_CN, Locale zh_TW