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