本文主要介绍如何使用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请求
对应数据库表结构如图:
下面是一个简单的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。这种格式通常用于发送表单数据。
#检查响应状态码,确认注册是否成功