使用faker生成测试数据
- # 数据类(构造常用数据类型、UUID、文本、词组、文件链接、文件路径)
- # 安全类(构造操作系统信息、HASH加密、密码)
- # 信息类(构造个人信息数据和表单信息数据:姓名、地址、电话、工作、证件号、
- # 银行卡号、公司、邮箱、生日)
- # 网络类(构造IP MAC HTTP的客户端类型和文件类型,反反爬)
-
-
- from faker import Factory
-
- fake = Factory().create('zh_CN') # create('zh_CN'):制定地区
-
-
- def random_python_data():
- return fake.pystr(), \
- fake.pyint(), \
- fake.pybool(), \
- fake.pyfloat(), \
- fake.pytuple(nb_elements=2), \
- fake.pylist(nb_elements=2), \
- fake.pydict(nb_elements=2) # nb_elements长度
-
-
- def random_uuid():
- return fake.uuid4()
-
-
- def random_text():
- return fake.text()
-
-
- def random_word():
- return fake.word(), fake.words()
-
-
- def random_image_url(): # 图片地址
- return fake.image_url()
-
-
- def random_file_path(): # 文件路径
- return fake.file_path()
-
-
- def random_os_info(os_type: str = 'win'): # 操作系统
- if os_type == 'win':
- return fake.windows_platform_token() + ' ' + fake.linux_processor()
- if os_type == 'linux':
- return fake.linux_processor()
- if os_type == 'mac':
- return fake.mac_platform_token()
- if os_type == 'ios':
- return fake.ios_platform_token()
- if os_type == 'android':
- return fake.android_platform_token()
- return None
-
-
- def random_hash(raw_output: bool = False): # raw_output是否以二进制形式返回 hash值
- return {'md5': fake.md5(raw_output), 'sha1': fake.sha1(raw_output), 'sha256': fake.sha256(raw_output)}
-
-
- def random_password(length=10, special_chars=False, digits=True, upper_case=False, lower_case=False): # 密码
- return fake.password(length=length,
- special_chars=special_chars,
- digits=digits,
- upper_case=upper_case,
- lower_case=lower_case)
-
-
- def random_name(): # 名称
- return fake.name()
-
-
- def random_address(): # 地址
- return fake.address()
-
-
- def random_phone_number(): # 手机号码
- return fake.phone_number()
-
-
- def random_job(): # 职业
- return fake.job()
-
-
- def random_ssn(*args): # 证件号
- return fake.ssn(*args)
-
-
- def random_credit_card(): # 银行卡号
- return fake.credit_card_full(), fake.credit_card_number()
-
-
- def random_company(): # 公司信息
- return fake.company()
-
-
- def random_email(domain): # 邮箱
- return fake.email(domain)
-
-
- def random_birth(minimum_age=18, maximum_age=25): # 生日
- return fake.date_of_birth(minimum_age=minimum_age, maximum_age=maximum_age)
-
-
- def random_profile(): # 个人简介信息
- return fake.profile()
-
-
- def random_ip4(private=False, public=False): # ip4
- if private:
- return fake.ipv4_private() # 局域网ip
- if public:
- return fake.ipv4_public() # 公网ip
- return fake.ipv4() # 随机ip
-
-
- def random_ip6(): # ip6
- return fake.ipv6()
-
-
- def random_mac_address(): # mac地址
- return fake.mac_address()
-
-
- def random_user_agent(): # user_agent
- return fake.user_agent()
-
-
- def random_mime_type(mime_type: str = 'application'): # 文件类型
- return fake.mime_type(mime_type)
-
-
- print(random_mime_type('image'))