一个随机切换user_agent的第三方python库:my_fake_useragent
因为my_fake_useragent 是第三方,所以需要自己进行安装。
不用担心,它没有任何依赖或者附加环境,只安装它自己就行。
方法1:
pycharm传统安装方式。
方法2:
pip install ...
fake_useragent 和 my_fake_useragent 其实是一个东西。
使用:这里只列举两个最简单的方式去调用。
# -*- coding: utf-8 -*-
import my_fake_useragent as ua
if __name__ == '__main__':
user_agent = ua.UserAgent()
# 方法1
# 随机获取一个user-agent,每次获取的都不一样
for _ in range(10):
print(user_agent.random())
# 方法2
# user_agent.get_useragent_list(): 返回一个user-agent的列表
for index, each_useragent in enumerate(user_agent.get_useragent_list()):
print(index, ': ', each_useragent)
既然说到了user_agent,那就再多说一点。
乍看user agent 时,只觉得它是一串乱七八糟的字符串,其实包含的内容还是挺多的。中文名为用户代理(区别于爬虫时使用的代理ip),简称UA,是一个特殊字符串头,使得服务器能够识别客户使用的操系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言等。
一些网站常常通过 UA 来给不同的操作系统、不同的浏览器发送不同的页面。
UA字串的标准格式:
浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识 版本信息
下面列举 UA 中包含的字符串信息
操作系统标识 FreeBSD X11; FreeBSD (version no.) i386 X11; FreeBSD (version no.) AMD64 Linux X11; Linux ppc X11; Linux ppc64 X11; Linux i686 X11; Linux x86_64 Mac Macintosh; PPC Mac OS X Macintosh; Intel Mac OS X Solaris X11; SunOS i86pc X11; SunOS sun4u Windows: Windows NT 10.0 对应操作系统windows 10 windows NT 6.2 对应操作系统 windows 8 Windows NT 6.1 对应操作系统 windows 7 Windows NT 6.0 对应操作系统 windows vista Windows NT 5.2 对应操作系统 windows 2003 Windows NT 5.1 对应操作系统 windows xp Windows NT 5.0 对应操作系统 windows 2000 Windows ME Windows 98
加密等级标识 N: 表示无安全加密 I: 表示弱安全加密 U: 表示强安全加密
浏览器语言 在首选项 > 常规 > 语言中指定的语言
渲染引擎 浏览器 使用 Presto 渲染引擎,格式为: Presto/版本号
版本信息 显示 浏览器 真实版本信息,格式为: Version/版本号
用这些信息去刚才的python代码输出中去对照,基本都能找到对应的信息。说这些,其实是python爬虫面试过程中可能会被问到的一个点,虽然是个冷门的知识点,不过了解一下也好。