• 爬虫之proxy(代理)


    proxy简介

    proxy即为代理,我们爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到我们是非正常访问,就会把我们的IP禁掉,这个时候就需要用代理了。

    就好比现实生活中,我需要向A借一件东西,但是我跟A是仇人,直接向他借的话他不会借给我,这个时候我就让B帮我像A借,就说他要用,然后B借到东西之后再把东西给我用,这时,B就是我的代理了。

    常用的免费代理网站:http://www.goubanjia.com/。

    爬虫应该选择什么样的代理?

    • 针对不需要用户登录,cookie验证的网站,一般选择动态高匿代理。
    • 对于需要用户登录,身份认证的。一般选择静态IP

    使用proxy的步骤

    1. 设置代理地址
      1
      proxy = {'http':'52.187.162.198:3128'}
    2. 创建ProxyHeader
      1
      proxyHeader = request.ProxyHandler(proxy)
    3. 创建Opener
      1
      opener = request.build_opener(proxyHeader)
    4. 安装Opener
      1
      request.install_opener(opener)

    示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    from urllib import request
     
    # 设置代理地址
    proxy = {'http':'52.187.162.198:3128'}
     
    # 创建ProxyHeader
    proxyHeader = request.ProxyHandler(proxy)
     
    # 创建Opener
    opener = request.build_opener(proxyHeader)
     
    # 安装Opener
    request.install_opener(opener)
     
    # 然后剩下的就跟正常使用差不多,只不过此时的request已经是绑定了代理之后的request
    url = 'https://www.taobao.com/'
    req = request.Request(url)
    response = request.urlopen(req)
    print(response.read().decode())
  • 相关阅读:
    SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列
    Centos下Yum安装PHP5.5
    docker 容器内服务自启动
    centos6.6系统初始化脚本
    不重启linuxVMWare虚拟机添加虚拟磁盘
    linux(centos6)搭建ftp服务器
    记一次扩容操作
    mongodb数据迁移的两种方式
    mongodb 数据库操作--备份 还原 导出 导入
    关于PHP参数的引用传递和值传递
  • 原文地址:https://www.cnblogs.com/soundcode/p/9018988.html
Copyright © 2020-2023  润新知