美文网首页
faker库--基础方法查询

faker库--基础方法查询

作者: IT的咸鱼 | 来源:发表于2019-05-03 20:39 被阅读0次

    faker是python一个第三方模块,可以让你生成伪造数据的Python包,是一个github上的开源项目。
    主要用来创建一些测试用的随机数据。

    • faker 实例有很多方法可用,这些方法分为以下几类:
    方法 作用
    address() 地址
    person() 人物类:性别、姓名等
    barcode() 条码类
    color() 颜色类
    company() 公司类:公司名、公司email、公司名前缀等
    credit_card() 银行卡类:卡号、有效期、类型等
    currency() 货币
    date_time() 时间日期类:日期、年、月等
    file() 文件类:文件名、文件类型、文件扩展名等
    internet() 互联网类
    job() 工作
    lorem() 乱数假文
    misc() 杂项类
    phone_number() 手机号码类:手机号、运营商号段
    python() python数据
    profile() 人物描述信息:姓名、性别、地址、公司等
    ssn() 社会安全码(身份证号码)
    user_agent() 用户代理

    address 地址

    >>> fake.country()  # 国家
    '奥地利' 
    >>> fake.city()  # 城市
    '郑州市'
    >>> fake.city_suffix()  # 城市的后缀,中文是:市或县
    '市'
    >>> fake.address()  # 地址
    '河北省巢湖县怀柔南宁路f座 169812'
    >>> fake.street_address()  # 街道
    '邯郸路W座'
    >>> fake.street_name()  # 街道名
    '合肥路'
    >>> fake.postcode()  # 邮编
    '314548'
    >>> fake.latitude()  # 维度
    Decimal('68.0228435')
    >>> fake.longitude()  # 经度
    Decimal('155.964341')
    

    person 人物

    >>> fake.name() # 姓名
    '单玉珍'
    >>> fake.last_name() # 姓
    '潘'
    >>> fake.first_name() # 名
    '琴'
    >>> fake.name_male() # 男性姓名
    '官平'
    >>> fake.last_name_male() # 男性姓
    '安'
    >>> fake.first_name_male() # 男性名
    '文'
    >>> fake.name_female() # 女性姓名
    '许颖'
    

    barcode 条码

    >>> fake.ean8()  # 8位条码
    '12771363'
    >>> fake.ean13()  # 13位条码
    '9133134950963'
    >>> fake.ean(length=8)  # 自定义位数条码,只能选8或者13
    '20417161'
    

    color 颜色

    >>> fake.hex_color() # 16进制表示的颜色
    '#671f6d'
    >>> fake.rgb_css_color() # css用的rgb色
    'rgb(237,74,237)'
    >>> fake.rgb_color()  # 表示rgb色的字符串
    '208,102,218'
    >>> fake.color_name() # 颜色名字
    'Brown'
    >>> fake.safe_hex_color()  #安全16进制色
    '#ee4400'
    >>> fake.safe_color_name() # 安全颜色名字
    'maroon'
    

    company 公司

    >>> fake.company() # 公司名
    '时空盒数字科技有限公司'
    >>> fake.company_suffix() # 公司名后缀
    '科技有限公司'
    

    credit_card 银行信用卡

    >>> fake.credit_card_number(card_type=None) # 卡号
    '375325478746231'
    >>> fake.credit_card_provider(card_type=None) # 卡的提供者
    'VISA 13 digit'
    >>> fake.credit_card_security_code(card_type=None)# 卡的安全密码
    '450'
    >>> fake.credit_card_expire() # 卡的有效期
    '04/22'
    >>> fake.credit_card_full(card_type=None) # 完整卡信息
    'Maestro\n秀芳 商\n502001016117 04/27\nCVV: 144\n'
    

    currency 货币

    >>> fake.currency_code()  # 货币代码
    'HNL'
    

    date_time 时间日期

    >>> fake.date_time(tzinfo=None) # 随机日期时间
    datetime.datetime(2001, 3, 18, 17, 57, 44)
    >>> fake.iso8601(tzinfo=None) # 以iso8601标准输出的日期
    '1973-11-16T22:58:37'
    
    >>> fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None) # 本月的某个日期
    datetime.datetime(2017, 11, 1, 14, 33, 48)
    >>> fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None) # 本年的某个日期
    datetime.datetime(2017, 3, 2, 13, 55, 31)
    >>> fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None)  # 本年代内的一个日期
    datetime.datetime(2010, 3, 26, 6, 33, 23)
    >>> fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None)  # 本世纪一个日期
    datetime.datetime(2015, 7, 21, 19, 27, 53)
    >>> fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None)  # 两个时间间的一个随机时间
    datetime.datetime(2005, 12, 3, 17, 17, 15)
    
    >>> fake.timezone() # 时区
    'America/Guatemala'
    >>> fake.time(pattern="%H:%M:%S") # 时间(可自定义格式)
    '11:21:52'
    >>> fake.am_pm() # 随机上午下午
    'PM'
    >>> fake.month() # 随机月份
    '02'
    >>> fake.month_name() # 随机月份名字
    'August'
    >>> fake.year() # 随机年
    '1974'
    >>> fake.day_of_week() # 随机星期几
    'Sunday'
    >>> fake.day_of_month() # 随机月中某一天
    '02'
    >>> fake.time_delta() # 随机时间延迟
    datetime.timedelta(13371, 27637)
    >>> fake.date_object()  # 随机日期对象
    datetime.date(1983, 1, 26)
    >>> fake.time_object() # 随机时间对象
    datetime.time(17, 8, 56)
    >>> fake.unix_time() # 随机unix时间(时间戳)
    1223246848
    >>> fake.date(pattern="%Y-%m-%d") # 随机日期(可自定义格式)
    '1984-04-20'
    >>> fake.date_time_ad(tzinfo=None)  # 公元后随机日期
    datetime.datetime(341, 9, 11, 8, 6, 9)
    

    file 文件

    >>> fake.file_name(category="image", extension="png") # 文件名(指定文件类型和后缀名)
    '增加.png'
    >>> fake.file_name() # 随机生成各类型文件
    '提供.pdf'
    >>> fake.file_extension(category=None) # 文件后缀
    'txt'
    >>> fake.mime_type(category=None) # mime-type
    'image/png'
    

    internet 互联网

    >>> fake.ipv4(network=False)  # ipv4地址
    '104.225.105.10'
    >>> fake.ipv6(network=False)  # ipv6地址
    'dea6:ca11:39d0:b49f:fff1:82f1:bf88:698b'
    >>> fake.uri_path(deep=None) # uri路径
    'search/categories'
    >>> fake.uri_extension() # uri扩展名
    '.htm'
    >>> fake.uri() # uri
    'https://www.wei.com/terms/'
    >>> fake.url() # url
    'http://zheng.org/'
    >>> fake.image_url(width=None, height=None)  # 图片url
    'https://www.lorempixel.com/700/990'
    >>> fake.domain_word() # 域名主体
    'hu'
    >>> fake.domain_name() # 域名
    'hu.cn'
    >>> fake.tld() # 域名后缀
    'com'
    >>> fake.user_name() # 用户名
    'xia13'
    >>> fake.user_agent() # UA
    'Opera/8.33.(Windows NT 5.1; an-ES) Presto/2.9.171 Version/10.00'
    >>> fake.mac_address() # MAC地址
    'd6:38:cc:2a:76:b2'
    >>> fake.safe_email() # 安全邮箱
    'mingli@example.net'
    >>> fake.free_email() # 免费邮箱
    'tao44@gmail.com'
    >>> fake.company_email()  # 公司邮箱
    'jingzhong@wang.cn'
    >>> fake.email() # 邮箱
    'changjun@hao.com'
    

    job 工作

    >>> fake.job()#工作职位
    'Dealer'
    >>> fake.job() 
    'Musician'
    

    lorem 乱数假文

    >>> fake.text(max_nb_chars=200) # 随机生成一篇文章
    '语言无法应用为什一点国内.要求完成如何世界电脑发布作品.经济不同教育个人科技全国.\n在线学生发布信息上海状态.\n联系一次通过其实介绍世界.增加也是使用成功那个.\n商品免费管理公司.留言自己这种内容.\n次数内容知道这样女人感觉.操作他的生产出现如何报告文章只有.\n个人文化中心不能发布最新.质量一下提高.感觉最大工具表示最后计划.这是还有次数结果其实特别.'
    
    >>> fake.word() # 随机单词
    '能力'
    >>> fake.words(nb=3)  # 随机生成几个字
    ['国家', '经营', '结果']
    >>> fake.sentence(nb_words=6, variable_nb_words=True)  # 随机生成一个句子
    '重要更多我们作品地方增加.'
    >>> fake.sentences(nb=3) # 随机生成几个句子
    ['制作上海学生.', '方式汽车一样技术帮助欢迎.', '说明一种深圳经营电话帖子.']
    >>> fake.paragraph(nb_sentences=3, variable_nb_sentences=True)  # 随机生成一段文字(字符串)
    '非常环境位置有限发展首页行业.情况对于出现部门这种觉得.产品以后因为虽然由于日本不同.'
    
    >>> fake.paragraphs(nb=3)  # 随机生成成几段文字(列表)
    ['就是发布要求有关这里国际.美国设备深圳经营.首页也是支持报告.', '决定可是只有发现开始一直.最后有些项目正在深圳关系决定.下载注册图片更多进行他的那些.', '必须他们发生数据准备联系.同时这样内容学校精华.']
    

    misc 杂项

    >>> fake.binary(length=10)  # 随机二进制字符串(可指定长度)
    b'U\xa9@\x1e\x96\xe7\xca\x82\x14f'
    
    >>> fake.language_code()   # 随机语言代码
    'tg'
    
    >>> fake.md5(raw_output=False)  # 随机md5,16进制字符串
    'cc4feebe419791332bbcff5e0fdf084a'
    
    >>> fake.sha1(raw_output=False) # 随机sha1,16进制字符串
    '8ac0e9980f880860b6e45ae6fd257cc847b7ae8d'
    
    >>> fake.sha256(raw_output=False)   # 随机sha256,16进制字符串
    '033151f173f4a389e38e7df2363d89741f752c474e7bdfa2ee0a794bf0b505b5'
    
    >>> fake.boolean(chance_of_getting_true=50) # 随机真假值(得到True的几率是50%)
    False
    
    >>> fake.null_boolean() # 随机真假值和null
    >>> fake.null_boolean()
    True
    
    >>> fake.password(length=10, special_chars=True, digits=True, upper_case=True, lower_case=True) # 随机密码(可指定密码策略)
    'F%722TJg_U'
    >>> fake.locale() # 随机本地代码
    'hy_AM'
    >>> fake.uuid4() # 随机uuid
    'a50d17e7-bc4f-37a3-27b3-04a24fdd0055'
    >>>
    

    phone_number 电话号码

    >>> fake.phone_number() # 手机号码
    '13334603608'
    >>> fake.phonenumber_prefix() # 运营商号段,手机号码前三位
    158
    

    python python数据

    >>> fake.pyint()  # 随机int
    7775
    >>> fake.pyfloat(left_digits=None, right_digits=None, positive=False)  # 浮点数
    -84901.5586333
    >>> fake.pydecimal(left_digits=None, right_digits=None, positive=False)  # 随机高精度数
    Decimal('-12273687068527.0')
    >>> fake.pystr(min_chars=None, max_chars=20)  # 随机字符串(可指定长度)
    'cblutNKFIyegfcHPrjzx'
    >>> fake.pybool()  # 随机bool值
    True
    
    >>> fake.pyiterable(nb_elements=10, variable_nb_elements=True)  # 随机iterable
    ['ODfeVvcbAjPDBGwzljQw', 'https://www.tan.cn/list/category/homepage.php', 'YQlrsFkBieyKYaXlCljJ', Decimal('42778240911787.2'), Decimal('957411812.6383'), 'TGbqZufoiUXLQTZDrVcP', 'http://yan.com/posts/tags/search/terms.php', 3.680492634254, 'min57@hotmail.com', datetime.datetime(2001, 8, 16, 6, 10, 49), 'xMMOjlETIgKGqVGTrChG', 'yong83@xu.cn']
    
    >>> fake.pylist(nb_elements=10, variable_nb_elements=True )  # 随机生成一个list
    ['KXQMXAkcEMSLfnIZkgJb', 'BtowiRsuIqyyULnSYYdr', datetime.datetime(2011, 10, 10, 14, 44, 2), datetime.datetime(2008, 5, 10, 1, 38, 38), 'juan47@hotmail.com', 'QEsdUpEqHLpThyWCjkNx', Decimal('-801375867.9'), 'ucDyeZnHAXfZtkwdVUbR', 4707, datetime.datetime(1974, 8, 7, 1, 54, 29)]
    
    >>> fake.pydict(nb_elements=10, variable_nb_elements=True)   # 随机字典
    {'其中': 9047, '一直': 'AUiUjuqccIdVAWSqzDbW', '选择': 'ddong@hotmail.com', '开发': datetime.datetime(1972, 10, 20, 14, 14, 9), '电影': 'KYmolBhkjSRxloXXFUUT', '文化': 2681, '这里': 'uyang@yahoo.com', '不会': 'ZPkwuxWsrJSHMNuFiWEx', '社会': 'CiujeaZMZSuyYwuKzEdN'}
    
    >>> fake.pyset(nb_elements=10, variable_nb_elements=True)  # 随机set
    {'bhe@hotmail.com', 'http://fu.cn/list/home.htm', 'MlJluVirRkofBnKNtphM', 296, 'ghoUSHkuEGmCzlJFKyHZ', datetime.datetime(2008, 4, 4, 2, 55, 4), 'AgbynHjdvwYpUkbMsfqr', 8751, 9649, 'tangguiying@hotmail.com', Decimal('5727570036.91'), 'HmDkExndcQIOaTtsSpsc', 'hjQlLLXuHVVzENEwoHJK'}
    
    >>> fake.pytuple(nb_elements=10, variable_nb_elements=True)   # 随机tuple
    ('http://www.cai.com/index/', datetime.datetime(1973, 7, 28, 2, 12, 23), 'khltJQMYJvIDRMYodviZ', 'uJezUsEqiHaiFxwOPWvl', 'qojwZHyytBSQQavkDaTu', 'AHUCHYuVJTHnoSEuQDSY', 1012, 'uEYVuzeTlgVhrnCATfKw', 'https://www.zhou.com/categories/tags/main/', 'LbLSFZPeATtzHvbmYhGr')
    
    >>> fake.pystruct()  # 随机生成3个有10个元素的python数据结构
    ([datetime.datetime(1996, 10, 26, 7, 35, 26), datetime.datetime(1998, 2, 28, 17, 20, 8), 'qianming@hotmail.com', 'yEWMrpTqtAHfbxqldGrb', 'YgKYOnrjuthOrOXhlYIl', datetime.datetime(1994, 12, 10, 0, 55, 30), Decimal('-6865068.3'), 'SYHFHiFvJlRVPcCKumUM', -8619.4354, 'kwGipwcASeALLeKdaWBi'], {'同时': 'BvtYdkNTHwZNMiIIRwKd', '空间': 310959668662.457, '特别': 'PZQDBuuQWkcdryMloyKS', '音乐': Decimal('-7219015925.0'), '项目': 'https://www.zhou.cn/main.php', '回复': 30.408750841, '显示': 'etZMrsjXJgZpDfZWhpoS', '大小': 7472, '类型': 'OsjpxgLqnTcdVOlHoMoP', '什么': 'http://www.xia.com/posts/app/index/'}, {'朋友': {0: -415025.243093017, 1: [1799, 585, 'shu@hotmail.com'], 2: {0: 9980, 1: 'qnOnFTzGnsjvXGybBnMF', 2: ['http://zheng.cn/list/search/tag/faq.html', Decimal('964285276661463.0')]}}, '发生': {1: -5339010.6134, 2: [datetime.datetime(1987, 6, 23, 15, 21, 45), 'SvSpvKqTXlJvdQhHScwM', 'PZjKOYzZzoNVsHLRcARQ'], 3: {1: 'https://www.yan.cn/register/', 2: 2191, 3: ['HMHKQuLRBQaaAypRbtHU', datetime.datetime(2014, 5, 24, 3, 32, 36)]}}, '我的': {2: 'linxia@yahoo.com', 3: ['http://gu.com/about.php', 'DhzpWYkgLCobGSHDLXzI', 1420], 4: {2: datetime.datetime(1986, 2, 22, 4, 50, 12), 3: 'rRHwQQzkpAMBQxwVITBa', 4: [datetime.datetime(1984, 2, 6, 11, 52, 18), -73821572962388.7]}}, '全部': {3: 'uMQeeBXYNGhrHnAerdjp', 4: [323329.56403, 'kFvqXFhhtQPNtrOjKtxa', 'http://peng.cn/'], 5: {3: 'lcaoeisYIAOsuRjbOXia', 4: Decimal('-902407032449085.0'), 5: [2296, 'uyuWgnsONzLluXqXdASM']}}, '大小': {4: 'min63@hotmail.com', 5: [datetime.datetime(1991, 10, 22, 19, 21, 48), 'cDYEScdIokWuvGhRkWqs', 'XeDJojWyywFvzmWYaokO'], 6: {4: Decimal('-4167029.2915827'), 5: 4030, 6: [6372, 'xfRXXEFGsNQpeIGmbaHU']}}, '语言': {5: 'https://www.guo.cn/', 6: [6498, datetime.datetime(1981, 12, 3, 18, 4, 29), 42598100345.61], 7: {5: 'http://zheng.cn/', 6: -229316.268238, 7: ['https://www.qiao.cn/home/', 'GtaEXeVxjRnnkggjEguv']}}, '表示': {6: 'xcBvcGUWxdMhDqgzmhSd', 7: ['kwDaFhyTKqHajGSaNOMf', 8561, 5456], 8: {6: 'https://zhou.cn/tags/tag/faq.html', 7: 'IGayAZtTQVlSOasQwgug', 8: ['iCjwBzHfmPSLqAgmIOle', 70511766106574.5]}}, '电子': {7: 'http://www.lu.org/tags/posts/terms/', 8: [datetime.datetime(1978, 8, 11, 12, 16, 35), 'https://song.cn/main/categories/homepage.html', 'https://long.com/register.html'], 9: {7: 'nFJNhyMYBvfTxrYwYPUQ', 8: -2252757903.0, 9: ['GuJnhMEgXoMAivrgGZie', datetime.datetime(2014, 5, 29, 1, 17, 50)]}}, '的人': {8: 'WgHePwYSPgSiPllXpLlJ', 9: [1782, 'fSepbXwpvhiBphzDTDNC', -9117731.63459416], 10: {8: 5602, 9: 3664, 10: ['http://www.mao.com/search/tag/main/', Decimal('5579.7377')]}}, '不过': {9: 'rOfkDPTHvzKbfvQHbPNm', 10: [314.397, 'StqeLyXkIDKHfExSjggk', 'xiuyingkang@gao.cn'], 11: {9: 'BLKNdcccamYzBwRcMxlx', 10: 'yongduan@gong.org', 11: ['ZocoQHdbhaNloWALnzwt', 'eWVvvHurAlZZRxlYHZXi']}}})
    

    profile 人物描述信息

    >>> fake.profile(fields=None, sex=None)  # 人物描述信息:姓名、性别、地址、公司等
    {'job': 'Licensed conveyancer', 'company': '万迅电脑信息有限公司', 'ssn': '370684199902182726', 'residence': '福建省小红市南长广州街K座 406448', 'current_location': (Decimal('18.050895'), Decimal('-0.877117')), 'blood_group': '0-', 'website': ['https://www.yi.org/', 'https://www.hu.com/', 'https://www.yin.cn/'], 'username': 'minghuang', 'name': '后英', 'sex': 'F', 'address': '安徽省秀荣市璧山嘉禾路T座 954960', 'mail': 'czhong@hotmail.com', 'birthdate': '1975-03-09'}
    >>> s = fake.simple_profile(sex="m") # 人物精简信息
    >>> for i,v in s.items():
    ...     print(i,v)
    ...
    username chao85
    name 邴宇
    sex M
    address 陕西省东市朝阳廖街Y座 757661
    mail xiazhang@gmail.com
    birthdate 1996-09-20
    

    ssn 社会安全码(身份证)

    >>> fake.ssn() # 随机生成身份证号(18位)
    '140100196612297997'
    >>> len(fake.ssn())
    18
    

    user_agent 用户代理

    常用在伪造浏览器信息

    >>> fake.user_agent() # 伪造UA
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5361 (KHTML, like Gecko) Chrome/15.0.812.0 Safari/5361'
    

    平台信息伪造

    >>> fake.linux_platform_token()
    'X11; Linux i686'
    >>> fake.linux_processor()
    'i686'
    >>> fake.windows_platform_token()
    'Windows CE'
    >>> fake.mac_platform_token()
    'Macintosh; Intel Mac OS X 10_7_4'
    >>> fake.mac_processor()
    'PPC'
    

    浏览器伪造

    >>> fake.internet_explorer() # IE浏览器
    'Mozilla/5.0 (compatible; MSIE 5.0; Windows NT 6.1; Trident/4.0)'
    >>> fake.opera() # opera浏览器
    'Opera/9.37.(Windows 95; doi-IN) Presto/2.9.178 Version/10.00'
    >>> fake.firefox() # firefox浏览器
    'Mozilla/5.0 (Windows NT 5.0; te-IN; rv:1.9.2.20) Gecko/2015-09-28 13:29:05 Firefox/12.0'
    >>> fake.safari() # safari浏览器
    'Mozilla/5.0 (Windows; U; Windows NT 4.0) AppleWebKit/533.37.4 (KHTML, like Gecko) Version/5.0 Safari/533.37.4'
    >>> fake.chrome() # chrome浏览器
    'Mozilla/5.0 (Windows 98; Win 9x 4.90) AppleWebKit/5361 (KHTML, like Gecko) Chrome/14.0.866.0 Safari/5361'
    

    相关文章

      网友评论

          本文标题:faker库--基础方法查询

          本文链接:https://www.haomeiwen.com/subject/ysfznqtx.html