某些时刻,因为个人数据不想泄露出去,所以需要伪造一下数据;也有使用爬虫的时候需要换一下 user agent ,一个用到旧会被发现,最后就是被封结尾。
运行环境是 Python3, Win10,编译器是 Pycharm。
使用的是 faker 这个包,安装的过程直接省去。下面这段代码是生成简单的个人信息。
语言那可以自己选择,注释那只给出了常用的语言。
from faker import Faker
fake = Faker('zh_CN') # en_US,zh_CN,zh_TW
for _ in range(4): # 输出4个,方便选择
print("姓名:" + fake.name() + " 工作:" + fake.job())
print("公司:" + fake.company())
print("住址:" + fake.address())
print("===========")
下面是运行结果,职位的本地化还稍微有所欠缺,哪怕选择了中文,工作职位还是英文的。
运行结果
如果不喜欢,或者闲麻烦,可以直接调用给出的方法生成简单的个人信息
from faker import Faker
fake = Faker('zh_CN') # en_US,zh_CN,zh_TW
print(fake.simple_profile(sex=None))
代码运行后的结果就是这样
简单个人信息
如果觉得不够详细,可以想下面这样做。
from faker import Faker
fake = Faker('zh_CN') # en_US,zh_CN,zh_TW
print(fake.profile(fields=None, sex=None))
复杂个人信息
还有很多的东西没有写出来,建议去阅读官方文档(官方文档是英文的
)
运行爬虫的时候总会加上 user_agent,每一次都是找一堆 user_agent,然后堆在一起,最后用 random 随机选择一个。
user_agent = ["Mozilla/5.0 (Windows NT 10.0; WOW64)", 'Mozilla/5.0 (Windows NT 6.3; WOW64)',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; rv:11.0) like Gecko)',
'Opera/9.27 (Windows NT 5.2; U; zh-cn)',
'Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0',
'Opera/8.0 (Macintosh; PPC Mac OS X; U; en)'
]
不得不说,麻烦到爆炸,还让代码多出了一堆,既不美观,又显多余。
上面看到的代码是我精简 3 次后的结果,原来的代码有20行
现在只需用一下 faker 这个包,简简单单就可以弄出一堆的 user_agent 了
多种样式,能满足大部分需求。
from faker import Faker
fake = Faker('zh_CN') # en_US,zh_CN,zh_TW
print(fake.safari())
print(fake.opera())
print(fake.chrome(version_from=13, version_to=63, build_from=800, build_to=899))
print(fake.firefox())
print(fake.user_agent())
官方文档那的介绍更加详细,建议多看看
faker 的 GitHub (原文链接):
https://github.com/joke2k/faker
faker 的说明文档:
https://faker.readthedocs.io/
题图:Photo by Harli Marten on Unsplash