faker 随机生成库

简介

faker是一个Python包,为您生成你所需要的任何(假)数据

安装

pip install faker

创建 Faker 对象

from faker import Faker
fake = Faker()

随机生成一个名字

fake.name()  # Mary Stark

上边生成的名字是英文的,想要个中文名字怎么办?

很简单,在创建Faker对象的时候,指定语言“中文”就可以

fake = Faker("zh_CN")

一些常用的语言包括以下等等:

  • 简体中文:zh_CN
  • 繁体中文:zh_TW
  • 美国英文:en_US
  • 英国英文:en_GB
  • 德文:de_DE
  • 日文:ja_JP
  • 韩文:ko_KR
  • 法文:fr_FR

都有什么样的数据

用faker可以生成哪些数据呢?

faker 提供了一些Standard Providers,列出了一些较为较为常用的数据。

  • address
  • company
  • date_time
  • job
  • person
  • phone_number
  • profile
  • user_agent

比如生成“地址”信息

In [2]: fake.address()
Out[2]: '甘肃省石家庄市双滦顾路v座 939253'

职位

In [2]: fake.job()
Out[2]: '电气/电器工程师'

生成个人信息

{'job': '人事专员', 
 'company': '开发区世创传媒有限公司', 
 'ssn': '140427194209102691', 
 'residence': '台湾省红市孝南窦路K座 366808', 
 'current_location': (Decimal('-75.0634755'), 
                      Decimal('-131.632597')), 
 'blood_group': 'B+', 
 'website': ['http://www.taoyang.com/'], 'username': 'taoxiulan', 
 'name': '李洁', 
 'sex': 'M', 
 'address': '浙江省香港市清浦乌鲁木齐街e座 346328', 
 'mail': 'weiyang@yahoo.com', 
 'birthdate': datetime.date(1918, 3, 8)}

fake.city() # 城市名称
North Karen
*****************************
fake.street_name() # 街道名称
Lopez Dale
*****************************
fake.country_code() # 国家编号
ML
*****************************
fake.longitude() # 经度
109.213240
*****************************
fake.address() # 地址
7927 Christopher Lake
Thomasmouth, ME 73174
*****************************
fake.latitude() # 纬度
-79.2992145
*****************************
fake.street_address() # 街道地址
7775 Jacob Wall Apt. 561
*****************************
fake.city_suffix() # 市
view
*****************************
fake.postcode() # 邮政编码
34098
*****************************
fake.country() # 国家
Estonia
*****************************
fake.street_suffix() # 街道后缀
River
*****************************
fake.building_number() # 建筑编号
5330
*****************************
fake.license_plate() # 车牌号
Q97 2BU
*****************************
fake.rgb_css_color() #颜色RGB
rgb(220,140,229)
*****************************
fake.safe_color_name() # 颜色名称
white
*****************************
fake.company() # 公司名
Roberts, Bates and Parker
*****************************
fake.credit_card_number(card_type=None) # 信用卡卡号
3568612931335293
*****************************
fake.date_time(tzinfo=None) # 随机日期时间
1996-07-18 02:05:39
*****************************
fake.file_extension(category=None) # 文件扩展信息
bmp
*****************************
fake.ipv4(network=False)  # ipv4地址
96.137.50.163
*****************************

查阅文档

https://faker.readthedocs.io/en/master/providers.html


User-Agent

这里用一个生成user-agent的实例来展示用法,可广泛应用于爬虫当中

In [2]: fake.chrome()
Out[2]: 'Mozilla/5.0 (Macintosh; PPC Mac OS X 10_9_1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/17.0.811.0 Safari/535.2'
# 引入
from faker import Faker

# 初始化
faker = Faker(locale='zh_CN')

agent_list = []
for i in range(10):
    # 生成ua
    ua = faker.user_agent()
    print(ua)
    agent_list.append(ua)

Opera/8.39.(Windows 98; bho-IN) Presto/2.9.182 Version/11.00
Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/5.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows 95; Trident/3.1)
Opera/9.77.(X11; Linux i686; ts-ZA) Presto/2.9.174 Version/12.00
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/3.1)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/536.2 (KHTML, like Gecko) Chrome/35.0.816.0 Safari/536.2
Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.0; Trident/4.0)
Mozilla/5.0 (Windows NT 5.2; bn-IN; rv:1.9.0.20) Gecko/2011-06-05 19:58:37 Firefox/3.8
Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 6.2; Trident/4.1)
Opera/8.22.(Windows 98; nb-NO) Presto/2.9.170 Version/12.00
 posted on 2020-08-01 14:23  Rannie`  阅读(737)  评论(0编辑  收藏  举报
去除动画
找回动画