zoukankan      html  css  js  c++  java
  • 爬虫前奏——代理ip的使用

    如果同一个IP短时间内多次访问统一网页,可能会被系统识别出是爬虫,因此使用代理IP可以很大程度上解决这一问题

    常用的代理有:

      西刺免费代理:www.xicidaili.com

      快代理:www.kuaidaili.com

      代理云:www.dailiyun.com

    那么我们如何知道自己的代理IP是否已经成功使用了呢?

      很简单www.httpbin.org为我们提供了这个功能。www.http.org上可以看到我们访问网站所有提交的信息,在www.httpbin.org/ip上可以看到我们所需要的IP信息,如图

    那么我们开始

     我们使用以下免费代理

    编写代码如下

    from urllib import request
    #没有使用代理
    url='http://www.httpbin.org/ip'
    resp = request.urlopen(url)
    print(resp.read())
    #使用代理的
    url='http://www.httpbin.org/ip'
    # 1.使用ProxyHandler,传入代理构建一个handler
    headler = request.ProxyHandler({'http':'223.244.45.134:65309'})
    # 2. 使用上面构建的handler构建一个opner
    opner = request.build_opener(headler)
    # 3. 使用opener去发送一个请求
    resp = opner.open(url)
    print(resp.read())

     需要导入urllib下的request库这是python自带的

    headler = request.ProxyHandler({'http':'223.244.45.134:65309'})
    需要注意的是ProxyHandler()参数由字典组成:http 与 ip地址均由上面的服务商提供,“65309”为开放的端口号。
    运行得到以下结果
    b'{
      "origin": "124.160.219.5"
    }
    '
    b'{
      "origin": "36.6.92.28"
    }
    '
    说明我的代理ip使用成功了 注意:有可能因为免费的代理ip不稳定而导致错误的发生,毕竟免费的总是要出问题的。
    以上内容有本人编写,如有转载请标明出处
  • 相关阅读:
    阿里巴巴面试题集合
    mysql的面试试题
    taobao面试要点
    properties文件value换行处理方式
    nginx添加需要代理的域名 配置
    spark基本概念
    MySQL半同步Semi-sync原理介绍【图说】
    J_D 仓储所用mysql版本
    mysql数据库的物理文件结构
    判断浏览器
  • 原文地址:https://www.cnblogs.com/mrkr/p/12520119.html
Copyright © 2011-2022 走看看