Python – faker

安装 faker

pip install Faker
pip install Dumper

 

设置生成器

from faker import Faker
fake = Faker()

它可以通过访问以想要的数据类型命名的属性来生成数据

 

简单的栗子

生成英文名字、英文地址、长文本

from faker import Faker
fake = Faker()

fake.name()
# 'Lucy Cechtelar'

fake.address()
# '426 Jordy Lodge
#  Cartwrightshire, SC 88120-6700'

fake.text()
# 'Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
#  beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt
#  amet quidem. Iusto deleniti cum autem ad quia aperiam.
#  A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui
#  quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur
#  voluptatem sit aliquam. Dolores voluptatum est.
#  Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est.
#  Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati.
#  Et sint et. Ut ducimus quod nemo ab voluptatum.'

faker 是以 en_US 为默认语言的,如果想要生成中文数据呢?

 

设置中文语言

from faker import Faker

fake = Faker("zh_CN")

fake.name()
# 吴帅

fake.address()
# 上海市霞市黄浦魏路R座 196165

 

繁体字

fake = Faker("zh_TW")

  

同时设置多种语言

想同时生成英文、中文的数据呢

from faker import Faker

fake = Faker(["en_US", "zh_CN"])

print(fake.name())
print(fake.name())
print(fake.name())
print(fake.name())
print(fake.address())
print(fake.address())
print(fake.address())
print(fake.address())


# 输出结果
温红梅
吴帅
Kathy Howard
John Parker
0236 Harmon Tunnel Apt. 878
South Lisa, AL 91400
10434 Christina Manor
Veronicachester, ND 40559
上海市霞市黄浦魏路R座 196165
澳门特别行政区红市翔安哈尔滨街j座 663953

  

Providers

  • 每个生成器属性(如 name、address、city)都被称为 fake
  • faker generator 有很多,打包在 providers 中
  • 所以 providers 有很多种,像 name、address 就所属于不同的 providers

 

使用不同 providers 的简单栗子

from faker import Faker
from faker.providers import internet

fake = Faker()
fake.add_provider(internet)

print(fake.ipv4_private())

# 输出结果
172.26.147.128

 

但其实不手动 add_provider 也可以的

from faker import Faker

fake = Faker()
print(fake.ipv4_private())


# 输出结果
172.30.247.147

 

注意

后面的栗子主要以中文为主

 

faker.providers.address

# 地址:'甘肃省澳门县崇文黄街s座 319489'
fake.address()

# 行政单位:'云南省'、'香港特别行政区'
fake.administrative_unit()

# 楼号:'W座'、'c座'
fake.building_number()

# 城市:'红霞市'、'成市'
fake.city()

# 城市名:'六安'、'宁德'
fake.city_name()

# 城市后缀:'市'、'县'
fake.city_suffix()

# 国家:'赞比亚'、'瑞士'
fake.country()

# 国家代号:'NL'、'IL'
fake.country_code()

# 当前国家代号:'CN'
fake.current_country_code()

# 当前国家:"People's Republic of China"
fake.current_country()

# 区:'高明'、'大兴'
fake.district()

# 邮政编码:'760487'、'211578'
fake.postcode()

# 省份:'云南省'、'甘肃省'
fake.province()

# 街道地址:'黄街s座'、'香港街g座'
fake.street_address()

# 街道名:'廖路'、'澳门路'
fake.street_name()

# 街道后缀:'街'、'路'
fake.street_suffix()

  

faker.providers.company

# 'iterate integrated e-markets'
fake.bs()

# 口号:'Networked well-modulated instruction set'
fake.catch_phrase()

# 公司:'万迅电脑科技有限公司'、'太极传媒有限公司'
fake.company()

# 公司前缀:'新宇龙信息'、'万迅电脑'
fake.company_prefix()

# 公司后缀:'传媒有限公司'、'科技有限公司'
fake.company_suffix()

 

faker.providers.internet

# ascii 格式公司邮箱:'[email protected]'、'[email protected]'
fake.ascii_company_email()
 
# ascii 格式邮箱:'[email protected]'、'[email protected]'
fake.ascii_email()
 
# ascii 格式免费邮箱:'[email protected]'、'[email protected]'
fake.ascii_free_email()
 
# ascill 格式安全邮箱:'[email protected]'、'[email protected]'
fake.ascii_safe_email()
 
# 公司邮箱:'[email protected]'、'[email protected]'
fake.company_email()

# 生成可指定子域级别数的 internet 域名
# domain_name()  =》nichols-phillips.com
# domain_name(2) =》williamson-hopkins.jackson.com
fake.domain_name()
 
# 域名单个单词:'qiu'、'litao'
fake.domain_word()
 
# 邮箱:'[email protected]'、'[email protected]'
fake.email()
 
# 免费邮箱:'[email protected]'、'[email protected]'
fake.free_email()

# 邮箱域:'yahoo.com'、'gmail.com'
fake.free_email_domain()
 
# 生成可指定子域级别数的 host
# hostname() =》 db-01.nichols-phillips.com
# hostname(0) =》 laptop-56
fake.hostname()
 
# 请求方法:'GET'、'DELETE'
fake.http_method()

# 图片 url:'//www.lorempixel.com/788/861'、'//placeimg.com/530/995/any'
fake.image_url()
 
# ipv4:'171.174.170.81'、'95.25.112.121'
fake.ipv4()

# ipv6:'f728:b4fa:4248:5e3a:a5d:2f35:6baa:9455'
fake.ipv6()
 
# MAC地址:'c5:d7:14:84:f8:cf'、'9b:f4:b7:6f:47:90'
fake.mac_address()
 
# 端口号:55125、5306
fake.port_number()
 
# '//www.wei.cn/explore/category/main/'、'//wg.cn/explore/categories/terms.html'、'//www.yongmin.cn/home.php'
fake.uri()

# uri 扩展:'.php'、'.html'
fake.uri_extension()

# path:'explore/tag'、'explore/category'
fake.uri_path()
 
# url:'//48.cn/'、'//xiulan.net/'
fake.url()

# 'cshao'、'wei76'
fake.user_name()

 

faker.providers.job

# 职业:'列车/地铁车长'、'纸样师/车板工'
fake.job()

  

faker.providers.person

# 名:'秀兰'、'凤兰'
fake.first_name()

# 女性名:'丽娟'、'雪梅'
fake.first_name_female()

# 男性名:'坤'、'建平'
fake.first_name_male()

# 姓:'廖'、'刘'
fake.last_name()

# 姓名:'廖婷婷'、'刘凤兰'
fake.name()

# 姓名拼音:'Ping Cheng'、'Wei Tian'
fake.romanized_name()

  

faker.providers.phone_number

# 手机:'18066048764'、'18859382421'
fake.phone_number()

# 手机前缀:180、159
fake.phonenumber_prefix()

 

faker.providers.ssn

# 18位中国身份证:'610403196903286049'、'430124195712066470'
fake.ssn()

 

faker.providers.lorem

paragraph(nb_sentences=3, variable_nb_sentences=True, ext_word_list=None)

生成一个段落

  • nb_sentences:控制段落将包含多少个句子
  • variable_nb_sentences:设置为 False 将生成确切数量,而将其设置为 True(默认)将使用 randomize_nb_elements(),随机句子数
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.paragraph(nb_sentences=5)
...
'论坛报告单位帮助一种报告.设备当然帖子图片分析喜欢.一定详细男人说明本站.关系来源对于首页.不会成为其中通过.'
'不同位置内容帮助一点就是语言.一个应该网上手机专业事情游戏标准.能够开始一般作者特别.准备怎么这样国际因为任何历史.只要说明之后不同销售.成为活动上海控制自己标题.'
'进行这是有限发布工作系统规定.对于实现不要位置同时个人行业.那个有关重要全部帮助业务.专业电话之后教育.'
'公司不过各种介绍积分.人民提供本站规定企业认为.说明服务因为世界一种所有作者.产品信息参加中心.'
'不是能够密码信息回复相关发现.市场这样学习内容研究.提供一定价格知道可是语言帮助积分.'

 

variable_nb_sentences=False

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.paragraph(nb_sentences=5, variable_nb_sentences=False)
...
'基本全国发现能力电影她的.报告出现完成但是还是.分析喜欢一些当然.有些来自关系来源对于首页提供学习.其中通过感觉不同位置内容帮助一点.'
'系列资源其实合作.作品之间任何.男人内容帮助地址能够开始.以及系统他的显示应用文章这里.发生根据是一只要.'
'发生功能作者加入成为活动上海控制.或者地区方法.这是有限发布工作.来源历史一般虽然.生产中文社区类型然后到了那个.'
'应该其中处理标题出现专业电话.经营谢谢手机可是发表地址业务任何.提供本站规定企业.科技密码说明服务因为世界一种.虽然介绍标题产品.'
'需要当前商品.不是能够密码信息回复相关发现.市场这样学习内容研究.提供一定价格知道可是语言帮助积分.报告问题影响谢谢状态.'

一个句子就 5 个单词

 

ext_word_list

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.paragraph(nb_sentences=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'])
...
'Abcjkldefjkljkljkl.Ghijklghidefjklghi.Jklghighighiabc.Ghijklghidef.Defdefghiabc.'
'Defghiabcjkljklabcjkl.Abcdefjklabcdefjklabcghi.Jklabcghiabcjkl.Jkldefdefdefabcdefjkl.Jklghighidefghi.Defabcabcjklabcjkl.'
'Abcghiabcabcabcabcghi.Ghijklghighiabcabcghi.Ghidefghijkljkljkl.Defabcghidef.'
'Abcdefghidefabc.Jklabcabcghiabcghi.Ghiabcabcabcjklabcabc.Abcabcjklabc.'
'Abcjkljklabcdefabcdef.Abcdefdefabcdef.Abcjklabcdefghijkljklabc.'

从 word_list 中取作为单词

 

paragraphs(nb=3, ext_word_list=None)

生成段落组成的列表

nb:控制生成的段落数

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.paragraphs(nb=5)
...
['论坛报告单位帮助一种报告.设备当然帖子图片分析喜欢.一定详细男人说明本站.', '来源对于首页提供.成为其中通过感觉不同位置.', '一点就是语言部门她的简介作品.手机专业事情游戏标准这些.', '以及系统他的显示应用文章这里.发生根据是一只要.', '之后不同销售建设女人国际世界.自己标题发现进行.国内历史出来来源.对于实现不要位置同时个人行业.']
['生产应该其中处理标题出现专业电话.经营谢谢手机可是发表地址业务任何.提供本站规定企业.', '说明服务因为世界一种所有作者.产品信息参加中心.希望因此内容行业.', '东西实现市场市场这样学习.帖子工作提供一定.目前有些广告有些一样.', '责任在线生活无法.销售不同所以首页.', '今年帮助解决朋友地区支持包括.一直教育企业图片活动拥有为了.结果然后完成是否有限.']
['这么之间系统学校规定国家.作为可能今年标准阅读.', '安全直接这个以及发现在线由于.当然说明一个工作专业实现他们.世界准备科技技术因此一定.', '成为免费商品一个控制由于.世界为什价格这样.提供是否资源技术.', '加入发表大家经验人民工程电话.美国没有论坛行业.', '次数密码当然论坛您的处理.数据有些其中介绍是一要求之后.什么不过教育.']
['资料东西论坛生活.国际电子发生的是希望这些这个的人.关系这样实现其他文章的话地方.', '因为发表以上工作任何表示.增加简介音乐正在.使用发展您的内容.', '电子查看有关怎么.', '只有而且一切目前一次.游戏电话控制是否软件不要.所有资源要求论坛次数.方面我的还有社会之间.', '空间发布电影行业国内今天帮助最新.准备科技今年一般应用中国各种.']
['产品发布大家她的出来设备.使用发展网上工作网站论坛公司.人员国家发布地区当前帖子质量.', '认为这是觉得.一切这么一起要求投资组织其实地方.为什设计很多信息浏览一直.', '一样任何应该目前其实得到这种.内容其中北京功能一种已经.', '安全应该决定商品影响自己一定.', '作品建设这个.继续没有组织有限专业处理解决.这种一次怎么以后作品.']

 

ext_word_list

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.paragraphs(nb=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'])
...
['Abcjkldefjkljkljkl.Ghijklghidefjklghi.Jklghighighiabc.', 'Jklghidefabc.Defghiabcghidefghi.', 'Jklabcjklghijklghighi.Abcdefjklabcghiabc.', 'Defabcdefghijklabcghi.Ghijklghijkl.', 'Ghidefghidefghidefabc.Abcjkldefabc.Jkljkljkljkl.Ghijklghighiabcabcghi.']
['Defdefghighijkldefdefabc.Ghijklabcghiabcabcjkldef.Abcabcghiabc.', 'Ghiabcabcabcjklabcabc.Abcabcjklabc.Defghiabcghi.', 'Ghijklabcabcdefdef.Ghiabcabcjkl.Defjkldefjklghi.', 'Jklabcabcghi.Ghidefabcdef.', 'Jkljklghidefghiabcghi.Ghidefabcdefabcjkldef.Ghighijkljklabc.']
['Ghijklabcghighiabc.Ghidefjklghidef.', 'Defghiabcdefdefabcghi.Jklghiabcabcdefjklabc.Abcjklghiabcghijkl.', 'Defabcghiabcjklghi.Abcghiabcdef.Abcjkldefabc.', 'Jklabcdefghijklghiabc.Defabcabcghi.', 'Jkljkljklabcghighi.Ghijklghidefghiabcghi.Abcdefdef.']
['Defghiabcabc.Defdefghidefdefabcabcabc.Ghidefjkldefabcghidef.', 'Abcabcdefabcdefghi.Jklghidefjkl.Abcabcghiabc.', 'Defghidefdef.', 'Defdefjkldefjkl.Abcabcjkljklabcghi.Abcdefabcabcjkl.Ghiabcdefdefjkl.', 'Jklabcdefghijkldefjkldef.Jklghijklghijklabcghi.']
['Abcabcdefjkljklghi.Abcabcjklabcabcabcabc.Defabcabcghijklghijkl.', 'Ghighijkl.Jklghijklabcghighijkldef.Ghiabcjklabcjklghi.', 'Ghidefdefdefjkljkldef.Abcghiabcdefjklabc.', 'Defdefjklghighiabcjkl.', 'Ghidefabc.Jklabcghiabcdefghighi.Defjkldefjklghi.']

 

sentence(nb_words=6, variable_nb_words=True, ext_word_list=None)

生成一个句子

  • nb_words:控制句子将包含多少个单词
  • variable_nb_words:设置为 False 将生成确切数量,而将其设置为 True(默认)将使用 randomize_nb_elements(),随机单词数
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentence(nb_words=10)
...
'基本全国发现能力电影她的这样方法设备当然.'
'还是还是就是加入一定详细男人说明本站提供服务品牌.'
'首页提供学习作品汽车报告希望很多目前觉得.'
'一点就是语言部门她的简介作品之间任何关系男人内容帮助.'
'这些报告能够以及系统他的显示应用.'

单词数是不固定的

 

variable_nb_sentences=False

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentence(nb_words=10, variable_nb_words=False)
...
'谢谢基本全国发现能力电影她的这样方法设备.'
'当然帖子图片分析喜欢一些当然空间中文有些.'
'来自关系来源对于首页提供学习作品汽车报告.'
'希望很多目前觉得发生可以系列资源其实合作.'
'一个应该网上手机专业事情游戏标准这些报告.'

单词数就是10(两个中文相当于一个单词)

 

ext_word_list

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentence(nb_words=10, ext_word_list=['abc', 'def', 'ghi', 'jkl'])
...
'Jkldefdefghidefjkldefdefghijkl.'
'Abcabcabcjkljklghighighiabcabcabcjkl.'
'Defabcdefghijkljkldefjkldefjkl.'
'Jklabcjklghijklghighijkldefghighiabcjkl.'
'Abcjkljkldefabcdefghijkl.'

 

sentences(nb=3, ext_word_list=None)

生成句子组成的列表

nb:控制将生成的句子数

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentences()
...
['基本全国发现能力电影她的.', '报告出现完成但是还是.', '分析喜欢一些当然.']
['有些来自关系来源对于首页提供学习.', '其中通过感觉不同位置内容帮助一点.', '系列资源其实合作.']
['作品之间任何.', '男人内容帮助地址能够开始.', '以及系统他的显示应用文章这里.']
['发生根据是一只要.', '发生功能作者加入成为活动上海控制.', '或者地区方法.']
['这是有限发布工作.', '来源历史一般虽然.', '生产中文社区类型然后到了那个.']

  

指定 nb=5

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentences(nb=5)
...
['基本全国发现能力电影她的.', '报告出现完成但是还是.', '分析喜欢一些当然.', '有些来自关系来源对于首页提供学习.', '其中通过感觉不同位置内容帮助一点.']
['系列资源其实合作.', '作品之间任何.', '男人内容帮助地址能够开始.', '以及系统他的显示应用文章这里.', '发生根据是一只要.']
['发生功能作者加入成为活动上海控制.', '或者地区方法.', '这是有限发布工作.', '来源历史一般虽然.', '生产中文社区类型然后到了那个.']
['应该其中处理标题出现专业电话.', '经营谢谢手机可是发表地址业务任何.', '提供本站规定企业.', '科技密码说明服务因为世界一种.', '虽然介绍标题产品.']
['需要当前商品.', '不是能够密码信息回复相关发现.', '市场这样学习内容研究.', '提供一定价格知道可是语言帮助积分.', '报告问题影响谢谢状态.']

 

ext_word_list

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.sentences(nb=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'])
...
['Jkldefdefghidefjkl.', 'Jkldefjklabcabc.', 'Jklghidefjkl.', 'Jkldefghijklghidefabcdef.', 'Ghiabcghidefghiabcjkljkl.']
['Ghidefjklghi.', 'Ghijkldef.', 'Ghiabcjklabcjklabc.', 'Defabcdefghijklabcghi.', 'Ghijklghijkl.']
['Ghidefabcjkldefabcabcjkl.', 'Ghighidef.', 'Ghiabcabcabc.', 'Jkljklghidef.', 'Defjkljkljklghijklghi.']
['Defghighijkldefdefabc.', 'Ghijklabcghiabcabcjkldef.', 'Abcabcghiabc.', 'Ghijklghiabcabcabcjkl.', 'Defdefjklabc.']
['Abcjklghi.', 'Abcjkljklabcdefabcdef.', 'Abcdefdefabcdef.', 'Abcjklabcdefghijkljklabc.', 'Jklabcghijkldef.']

 

text(max_nb_chars=200, ext_word_list=None)

生成文本字符串

max_nb_chars:控制文本字符串的最大字符数

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.text(max_nb_chars=20)
...
'一样方面问题这种分析商品组织有关各种.'
'决定最新这么要求安全要求还是一点介绍.'
'完成但是还有本站文章怎么规定之间发布.'
'运行研究有些次数这样人民各种经验日本.'
'作者中文信息什么然后一切以下一个一起.'

 

texts(nb_texts=3, max_nb_chars=200, ext_word_list=None)

生成文本组成的列表

  • nb_texts:控制列表将包含多少个文本字符串
  • max_nb_chars:控制文本字符串的最大字符数
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.texts(nb_texts=5, max_nb_chars=50)
...
['基本全国发现能力电影她的.报告出现完成但是还是.分析喜欢一些当然.', '其中通过感觉不同位置内容帮助一点.系列资源其实合作.作品之间任何.男人内容帮助地址能够开始.', '发生根据是一只要.发生功能作者加入成为活动上海控制.或者地区方法.这是有限发布工作.', '生产中文社区类型然后到了那个.应该其中处理标题出现专业电话.经营谢谢手机可是发表地址业务任何.', '科技密码说明服务因为世界一种.虽然介绍标题产品.需要当前商品.不是能够密码信息回复相关发现.']
['提供一定价格知道可是语言帮助积分.报告问题影响谢谢状态.发表增加登录可以行业.', '一直教育企业图片活动拥有为了.结果然后完成是否有限.朋友阅读操作一个游戏.', '精华处理安全.联系使用处理.由于单位的话分析制作今天来自.他们控制正在阅读发生只要注意.', '可以分析标题影响作品.所有解决今年美国注意.方法历史必须信息.加入发表大家经验人民工程电话.', '日期名称标准社区谢谢参加为什.数据有些其中介绍是一要求之后.什么不过教育.']
['知道一切北京电话关系.环境工具关系.精华一下阅读提供当然.教育加入根据因为发表以上工作.', '使用发展您的内容.网络更多国际.责任具有但是技术地址准备搜索.学生知道使用决定.有些那么这是.', '方面我的还有社会之间.一切空间发布电影.国内今天帮助最新以上以上.一般应用中国各种这么.', '的是各种广告加入记者一点使用有限.公司谢谢人员国家发布.当前帖子质量更新认为这是觉得.', '为什设计很多信息浏览一直.显示大家使用完全如此.得到这种这种生活那些.功能一种已经产品安全.']
['建设这个广告自己自己喜欢必须.处理解决需要她的.方式问题处理或者那些操作当前.', '查看她的世界成功.介绍世界出现经营孩子有些.单位质量如此.一样个人就是政府过程继续规定.', '阅读提供得到比较.深圳学生安全.增加参加系列系统市场知道注册.不能一种最后名称销售开始.', '这么的是程序应用.完全中心方式都是原因.软件不是任何参加.密码原因作为上海特别.详细环境等级本站.', '介绍直接完全说明电子.有限其他安全以下.只有作为发展不同而且到了问题如何.']
['欢迎生产你们程序.不断中心全国所以原因资料不要.非常作为也是通过一个规定.', '这是基本设计最大.经营信息不过合作一个.由于设备资源相关主要经济.销售产品业务会员资料.', '简介无法新闻科技精华继续责任.不同标准什么时候所有.然后还是合作不会首页阅读.', '个人不会虽然特别谢谢注意表示技术.时间论坛东西准备今年处理.还是认为游戏学习具有.', '成为不是中心点击空间回复应该.欢迎关于通过部门一起.设计发展中心.法律这是设计选择.']

 

word(ext_word_list=None)

生成一个单词

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.word()
...
'一样'
'方面'
'问题'
'这种'
'分析'

 

words(nb=3, ext_word_list=None, unique=False)

生成单词组成的列表

  • nb:控制单词数
  • unique:如果 True,则列表中的单词都是唯一的
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.words()
...
['谢谢', '基本', '全国']
['发现', '能力', '电影']
['她的', '这样', '方法']
['设备', '当然', '帖子']
['图片', '分析', '喜欢']

 

ext_word_list + unique

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.words(nb=4, ext_word_list=['abc', 'def', 'ghi', 'jkl'], unique=True)
...
['jkl', 'def', 'abc', 'ghi']
['jkl', 'def', 'ghi', 'abc']
['ghi', 'jkl', 'abc', 'def']
['ghi', 'abc', 'jkl', 'def']
['def', 'jkl', 'abc', 'ghi']

 

faker.providers.user_agent

# 随机生成 user-agent
fake.user_agent()

# Android:'Android 7.1'、'Android 3.2.3'
fake.android_platform_token()

# chrome 浏览器:'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.1 (KHTML, like Gecko) Chrome/46.0.833.0 Safari/536.1'
fake.chrome()

# firefox 浏览器:'Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_6_5; rv:1.9.5.20) Gecko/2010-09-09 13:28:06 Firefox/3.6.9'
fake.firefox()

# IE 浏览器:'Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.1)'
fake.internet_explorer()

# IOS:'iPhone; CPU iPhone OS 7_1_2 like Mac OS X'
fake.ios_platform_token()

# Linux:'X11; Linux x86_64'
fake.linux_platform_token()

# MAC 电脑:'Macintosh; U; Intel Mac OS X 10_12_6'
fake.mac_platform_token()

# safari 浏览器:'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_8 rv:3.0; kk-KZ) AppleWebKit/531.6.3 (KHTML, like Gecko) Version/5.0.1 Safari/531.6.3'
fake.safari()

# window 电脑:'Windows NT 10.0'
fake.windows_platform_token()