python产生模拟数据faker库的使用详解(下)
【摘要】 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())
|
不做进一步的解释了哈,
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)