zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    Java技术学习笔记:C/S 与B/S 区别
    Java开发面试题总结(八)
    Java技术笔记:数据库的性能优化
    零基础学习Python可以学会吗?你有哪些方法?
    java培训学习路线图之SpringBoot多模块开发学习
    计算机专业选Java和Python哪个前景好点?
    bzoj2152 聪聪可可
    bzoj1468 Tree
    bzoj2879 [Noi2012]美食节
    bzoj2208 [Jsoi2010]连通数
  • 原文地址:https://www.cnblogs.com/mxk123/p/12006966.html
Copyright © 2011-2022 走看看