几分钟学会隧道代理的使用

2023-05-11 16:08:34 浏览数 (1)

当我们有时使用爬虫的时候,如果频繁对某一个界面请求过太多的次数,那么有些网站就会因为反爬虫的措施发现同一个IP地址对它请求了太多的次数,因此对我们的爬虫进行了禁止,你必须要登录这个网站才能够继续进行爬虫。这个时候呢,如果我们能够直接在请求网页的时候不断更换自己的IP地址,就不会被系统检查出来。因此,这也是我们需要使用动态IP代理的缘故。

经常会看到大家在群里面讨论隧道代理,那今天我们就来重点了解下隧道代理。所谓隧道代理就是一个能帮你自动更换代理 IP 的代理服务,在你的代码里面,你只需要把一个入口代理地址写死,然后正常发起请求,而目标服务器接收到的请求,每一次都是不同的代理地址。隧道代理的原理,跟常规代理的不同之处,是自动转发技术,通过配置固定代理域名、端口、用户名和密码直接使用,默认每个http请求自动转发,不需要绑定IP白名单。有demo参考使用,方便快捷,适合快速启动项目。

网上有很多的隧道代理提供,那么很多小伙伴要问了,这种代理怎么使用呢?我们今天就重点分享下如何使用隧道代理,最简单的粗暴的方式就是以实际的示例

代码语言:javascript复制
#! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "http://httpbin.org/ip"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://httpbin.org/ip"

    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text

这是最简单的使用方式,代码我们已经试验过了,代码示例可以直接使用,而且这种使用方式真的很方便,但是代理是使用不了的,因为是过期了,有需要的可以直接找上面的代理商购买使用。

0 人点赞