一个随机切换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爬虫面试过程中可能会被问到的一个点,虽然是个冷门的知识点,不过了解一下也好。

posted @ 2019-08-30 09:33  正态分个布  阅读(9368)  评论(0编辑  收藏  举报