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

  • 相关阅读:
    101. Symmetric Tree(js)
    100. Same Tree(js)
    99. Recover Binary Search Tree(js)
    98. Validate Binary Search Tree(js)
    97. Interleaving String(js)
    96. Unique Binary Search Trees(js)
    95. Unique Binary Search Trees II(js)
    94. Binary Tree Inorder Traversal(js)
    93. Restore IP Addresses(js)
    92. Reverse Linked List II(js)
  • 原文地址:https://www.cnblogs.com/zrmw/p/11433200.html
Copyright © 2011-2022 走看看