云社区 博客 博客详情

python产生模拟数据faker库的使用详解(下)

仙女本仙 发表于 2020-11-04 19:38:10 2020-11-04
0
0

【摘要】 profile 人物描述信息123456789101112>>> fake.profile(fields=None, sex=None) # 人物描述信息:姓名、性别、地址、公司等{'job': 'Licensed conveyancer', 'company': '万迅电脑信息有限公司', 'ssn': '370684199902182726', 'residence': '福建省小红市南...

profile 人物描述信息

1
2
3
4
5
6
7
8
9
10
11
12
>>> 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 社会安全码(身份证)

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

user_agent 用户代理

常用在伪造浏览器信息

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

平台信息伪造

1
2
3
4
5
6
7
8
9
10
>>> 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'

浏览器伪造

1
2
3
4
5
6
7
8
9
10
>>> 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 已经提供了足够丰富的信息生成,包括名字、手机号、邮箱地址、邮编等等。尽管如此,可能还是没有办法满足你的需求。这时,可以利用自定义扩展,引用外部的 provider,自定义你要的功能。

Faker 对象可以通过 add_provider 方法将自定义的 Provider 添加到对象中,自定义的 Provider 需要继承自 BaseProvider。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from faker import Faker
fake = Faker()
 
# first, import a similar Provider or use the default one
from faker.providers import BaseProvider
 
# create new provider class
class MyProvider(BaseProvider):
   def foo( self ):
     return 'bar'
 
# then add new provider to faker instance
fake.add_provider(MyProvider)
 
# now you can use:
print (fake.foo())

结果显示:

bar

随机控制

Faker 随机生成由 random.Random 驱动。其中,.random 属性返回 random.Random 对象。通过对该对象的操作,可以实现自定义的行为。

1
2
3
4
from faker import Faker
fake = Faker()
fake.random
fake.random.getstate()

安装:

1
pip install faker

使用:

1
2
3
4
from faker import Faker
fake = Faker()
for i in range ( 0 , 10 ):
   print (fake.name())

不做进一步的解释了哈,



登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

上一篇:python产生模拟数据faker库的使用详解(中)

下一篇:pycharm使用技巧之自动调整代码格式总结

评论 (0)


登录后可评论,请 登录注册

评论