python批量插入仿真用户数据到数据库

本文主要介绍如何使用Python脚本结合Faker库通过循环调用POST接口插入10个不同的用户仿真数据到数据库。

前期准备

1.需要安装Faker和requests库。
在当前project下alt+f12打开Terminal窗口,输入以下命令:

pip install faker
pip install requests

2.需要有一个可以接收POST请求的API接口,并且这个接口能够将接收到的数据保存到数据库中。

本文的接口通过Django连接mysql实现,Django自带前端和数据库,默认启动ip为127.0.0.1:8000。
接口url为:http://127.0.0.1:8000/userRegister
运行脚本前需要确保Django应用正在运行,并且可以接受来自http://127.0.0.1:8000/userRegister的POST请求
Django web 框架启动本地服务器命令示例:

python manage.py runserver

启动成功后,可在浏览器访问127.0.0.1:8000/admin,本文示例注册接口界面如下:
在这里插入图片描述

对应数据库表结构如图:
在这里插入图片描述

下面是一个简单的Python脚本示例,它使用Faker生成用户数据,并通过requests库发送POST请求到指定的API接口:

import requests
import json
from faker import Faker

# 初始化faker
fake= Faker(locale='zh_CN')  # 指定中文数据生成

# 定义用户注册的URL
REGISTER_URL = 'http://127.0.0.1:8000/userRegister'

# 设置请求头
headers = {
    'Content-Type': 'application/json',
}
# 循环插入10条用户信息
for _ in range(10):
    # 使用faker生成仿真数据
    name = fake.name()
    account = fake.user_name()  # 假设使用用户名作为账户
    password = fake.password(length=6)  # 生成一个长度为6的随机密码
    address = fake.address()
    tel = fake.phone_number()
    user_type = fake.random_element(['1', '2', '3'])  # 从给定范围中随机选择一种类型

    # 构建POST请求的数据
    data = {
        'name': name,
        'account': account,
        'password': password,
        'address': address,
        'tel': tel,
        'type': user_type,
    }

    # 输出为json格式
    print(json.dumps(data, ensure_ascii=False))
    # 发送POST请求
    response = requests.post(REGISTER_URL, data=data)
    #使用data参数时,requests库会自动将字典或元组列表等数据结构转换为查询字符串(form-encoded)格式,并将Content-Type头设置为application/x-www-form-urlencoded。这种格式通常用于发送表单数据。
    
    #检查响应状态码,确认注册是否成功
    if response.status_code == 200:
        print(f"User created successfully: {response.json()}")
    # else:
    #     print(f"Error creating user: {response.status_code}, {response.text}")
    else:
        print(f"用户注册失败: HTTP状态码 {response.status_code}")

执行结果:

在这里插入图片描述

总结

.在上面的脚本中,定义了REGISTER_URL作为用户注册的URL,该变量是API接口地址。这个脚本会循环10次,每次生成一个新的用户数据,并通过POST请求发送到API接口;
使用Faker库来生成仿真数据,如姓名、账户、密码等;
在循环中,我们构建了一个包含仿真数据的字典data,并将其作为POST请求的内容发送;
脚本假设注册接口期望接收一个表单格式的请求体;
使用requests.post函数发送POST请求,并检查响应的状态码和内容来确定注册是否成功。

请注意:

1.API接口能够正确处理POST请求,并将接收到的数据保存到数据库中。
2.API接口能够接收表单格式的请求体,即Content-Type: application/x-www-form-urlencoded,并且期望的参数名(如name, account, password等)与脚本中发送的一致。
3.此外,出于安全考虑,密码通常不应该以明文形式发送或存储,在Django中,可以使用Django的内置密码哈希功能来处理密码。。
4. 同样,你可能需要处理其他安全性问题,如防止SQL注入、使用HTTPS等。

faker学习

1.python 使用faker创建仿真数据用户json

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值