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

news/2024/7/19 12:01:37 标签: python, 爬虫, 开发语言, 经验分享

当我们有时使用爬虫的时候,如果频繁对某一个界面请求过太多的次数,那么有些网站就会因为反爬虫的措施发现同一个IP地址对它请求了太多的次数,因此对我们的爬虫进行了禁止,你必须要登录这个网站才能够继续进行爬虫。这个时候呢,如果我们能够直接在请求网页的时候不断更换自己的IP地址,就不会被系统检查出来。因此,这也是我们需要使用动态IP代理的缘故。
经常会看到大家在群里面讨论隧道代理,那今天我们就来重点了解下隧道代理。所谓隧道代理就是一个能帮你自动更换代理 IP 的代理服务,在你的代码里面,你只需要把一个入口代理地址写死,然后正常发起请求,而目标服务器接收到的请求,每一次都是不同的代理地址。隧道代理的原理,跟常规代理的不同之处,是自动转发技术,通过配置固定代理域名、端口、用户名和密码直接使用,默认每个http请求自动转发,不需要绑定IP白名单。有demo参考使用,方便快捷,适合快速启动项目。
网上有很多的隧道代理提供,那么很多小伙伴要问了,这种代理怎么使用呢?我们今天就重点分享下如何使用隧道代理,最简单的粗暴的方式就是以实际的示例

#! -*- 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

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


http://www.niftyadmin.cn/n/310519.html

相关文章

4.设计模式之工厂模式

前言 工厂模式属于创建型模式。通过工厂获取一个一个的新对象。实现了创建者和调用者的分离。 本质是实例化对象,用工厂方法代替new操作。工厂模式又细分为简单工厂模式,工厂方法模式和抽象工厂模式。本节我们详细介绍。 1. 简单工厂模式 简单工厂模式…

SpringCloud(16) 整合Seata+多数据源+sharding-jdbc

文章目录 一、前言二、docker-compose一键部署Seata三、项目整合1、引入依赖2、增加配置文件3、数据源配置4、各个微服务下的resources目录下准备seata.conf 四、编写业务代码进行测试1、分库分表a:父服务声明(主业务调用方)b:子服务声明 2、多数据源 五…

【瑞数RS专题】首层代码分析,和获取eval层代码,cookie反爬虫详解

如有侵权、联系本人下架 以下面两个网站为例 1.aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL25ld19ob3VzZS9uZXdfaG91c2VfZGV0YWlsLmh0bWw= 2.aHR0cHM6Ly93d3cubm1wYS5nb3YuY24veWFvd2VuL3lwamd5dy9pbmRleC5odG1s 首先明确一下目标,我们要先获取网页200的源代码,RS5代第一次响应为…

网卡名称排序

udev是一种动态设备管理系统,用于在Linux系统中自动管理设备的插拔、识别、配置等操作。它的主要作用是监视系统中的设备事件,并根据设备事件动态地创建、删除或修改系统中的设备节点。 udev的工作原理是通过读取系统中的硬件信息、驱动程序和设备特征信…

机器学习——弹性网估计

机器学习——弹性网估计 文章目录 机器学习——弹性网估计[toc]1 模型介绍2 模型设定3 弹性网估计 1 模型介绍 弹性网估计属于惩罚回归,常见的惩罚回归包括岭回归(ridge)、套索回归(lasso)和弹性网(elasticnet)回归等。 岭回归用于缓解高维数据可能的多重共线性问…

康希诺生物:新冠疫苗影响当期业绩,毛利润减少89.92%

来源;猛兽财经 作者:猛兽财经 猛兽财经获悉,由于4月28日,康希诺生物(06185)发布2023年一季度报告,收入同比下滑及利润端亏损,主要由于新冠疫苗需求量同比大幅下降,以及产品价格调整…

智能卡接口(ISO7816)

概述 智能卡接口(7816)是外部智能卡通过2 线交换8 位数据的串行同步通讯手段。芯片提供了2 个7816主机接口模块。 ⚫ 2路独立7816接口 ⚫ 具备卡时钟输出端口,输出频率在1MHz~5MHz之间可设 ⚫ 位传输方向可配置,支持MSB First或LS…

鸿蒙Hi3861学习十一-Huawei LiteOS-M(内存池)

一、简介 LiteOS将内核与内存管理分开实现,操作系统内核仅规定了必要的内存管理函数原型,而不关心这些内存管理函数是如何实现的。 LiteOS内存管理模块管理系统的内存资源,包括:初始化、分配、释放。 不采用C标准库中的内存管理函…