• python爬虫User Agent用户代理


    UserAgent简介

    UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。 
    浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。

    我们在做爬虫的时候,不是通过浏览器正常访问,所以会被很多网站禁止访问,这个时候我们就需要手动在headers里加上UA属性,来伪装成浏览器进行访问。

    常见的UserAgent值

    我们用的时候直接复制即可,放到headers里的对应User-Agent参数

    UserAgent的两种添加方法

    1 直接定义一个headers字典,然后传递给Request类来实例化一个对象,然后在传给urlopen,格式如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from urllib import request
     
    url = 'http://baidu.com'
     
    headers = {'User-Agent':'Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5'}
     
    req = request.Request(url,headers=headers)
    response = request.urlopen(req)
     
    print(response.read().decode())

    2.使用add_header()方法

     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from urllib import request
     
    url = 'http://baidu.com'
     
    req = request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5')
    response = request.urlopen(req)
     
    print(response.read().decode())
  • 相关阅读:
    html meta标签
    随滚动条滚动,动态修改元素class
    获取浏览器长宽自动设置
    SpringMVC常用注解實例詳解2:@ModelAttribute
    SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
    Freemarker常用指令使用范例
    Spring整合Freemarker
    SpringMVC配置入門
    再谈深浅拷贝 后端
    转发-react 性能深度探讨
  • 原文地址:https://www.cnblogs.com/mxk123/p/12006966.html
Copyright © 2020-2023  润新知