爬虫的福音-移动蜂窝代理

在爬虫与反爬虫斗争愈演愈烈的情况下,各大网站和 App 的风控检测越来越强,其中一项就是 IP 封禁。

为了解决 IP 封禁的困扰,一个有效的方式就是设置代理,设置代理之后,爬虫可以借助代理的 IP 来伪装自己的真实 IP 地址,从而突破反爬虫的限制。

但代理的质量有高有低,比如市面上的免费代理,几乎绝大多数都是不可用或者被封禁的状态,而有些付费普通代理也陆续被加入了各大网站和 App 的风控黑名单。因此,现在可以用作高质量数据爬爬取的代理越来越少了,目前市面上质量较高的代理主要有独享代理、ADSL 代理、移动蜂窝代理这几种类型。

本代理服务就是基于移动蜂窝网络(4G、5G)的隧道代理服务,本文档会介绍此服务的申请和使用方法。

移动蜂窝代理

移动蜂窝代理,其实就是基于手机流量搭建的代理服务,所有的代理 IP 都是手机真实的 IP。此种代理在爬虫领域使用相对较少,因此被封禁的概率也更小,所以此种代理对于爬取一些风控极强的网站和 App 的爬取有很好的效果。

本代理服务背后是基于一个大规模的群控手机池搭建的代理服务,所有流量都经由纯正的手机流量转发,支持市面上几乎所有网站和 App 的数据请求,代理质量极高,能够极大减小风控概率。

申请方法

要使用蜂窝代理服务,可以首先到「申请页面」进行申请,首次申请有 1 积分免费额度,约 17.5MB。

如果您尚未登录,则会自动跳转到登录页面,登录之后继续申请即可。

使用方法

申请完毕之后,可以到「控制台」中查看本人的申请结果,如图所示:

点击 「Credentails」,即可查看使用蜂窝代理服务的用户名及密码,以冒号分隔,其中用户名是 8 位,密码是 32 位,如图所示:

本移动蜂窝代理是一种隧道代理,因此使用的时候只需要设置一个固定的代理隧道即可,代理隧道的地址和端口分别是 cellular.proxy.acedata.cloud 和 30000,是 HTTP/HTTPS/SOCKS 协议的代理隧道,但此代理隧道可以用于爬取 HTTP 和 HTTPS 协议的网站。

下面以 Python 为例演示该代理隧道的设置方法:

import requests

proxy = 'https://<8位用户名>:<32位密码>@cellular.proxy.acedata.cloud:30000'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('http://myip.ipip.net', proxies=proxies)
    print(resp.text)

这里我们首先声明了代理的 URL 并定义为 proxy 变量,协议是 http 协议,后面跟随隧道代理的用户名和密码(即控制台展示的用户名和密码,二者以冒号分隔),后面再跟一个 @ 符号,再跟代理的地址和端口即可。

接着声明了一个 prixies 变量,配置了两个键值对,键名分别为 http 和 https,其键值都是 proxy,代表对于 HTTP 和 HTTPS 协议的网站,都是用 proxy 变量定义的代理来进行请求。

接下来定义了三次循环进行代理的测试,这里请求的 URL 是 http://myip.ipip.net,这个站点可以返回请求该站点的真实 IP 地址和 IP 所在地域。

运行结果如下:

当前 IP:60.27.158.243  来自于:中国 天津 天津  联通
当前 IP:116.130.209.234  来自于:中国 天津 天津  联通
当前 IP:221.197.232.211  来自于:中国 天津 天津  联通

可以看到,每次运行的结果得到的代理 IP 都是随机的,而且 IP 所在地域确实是来源于真实手机流量(中国联通)。

当然,上述的代理设置方式实际上是一个相对简洁的设置方式。

实际上上述代码等价于在请求的时候设置了一个额外的 Headers - Proxy Authorization,所以上述代码还可以改写如下:

import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '<8位用户名>'
proxy_password = '<32位密码>'

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('http://myip.ipip.net',
                        proxies=proxies, headers=headers)
    print(resp.text)

可以看到,这里我们通过 Proxy-Authorization 这个请求头额外设置了代理的用户名和密码(需要进行 Base64 编码),这样的代码运行效果也是一样的。

对于其他语言,比如 JavaScript 的 axios,也可以使用类似的设置方式:

const axios = require('axios');
const base64 = require('base64');

const proxy_host = 'cellular.proxy.acedata.cloud';
const proxy_port = '30000';
const proxy_username = '<8位用户名>';
const proxy_password = '<32位密码>';

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
    http: `http://${proxy_host}:${proxy_port}`,
    https: `http://${proxy_host}:${proxy_port}`
};

const headers = {
    'Proxy-Authorization': `Basic ${credentials}`
};

for (let i = 0; i < 3; i++) {
    axios.get('http://myip.ipip.net', { proxies, headers })
        .then(resp => console.log(resp.data))
        .catch(err => console.error(err));
}

运行效果都是一样的。

对于其他语言的设置方法,请参考上文自行改写。

购买更多

如您的套餐已经耗尽,您需要购买更多才能继续使用该代理服务。

要购买更多,请到「申请页面」直接点击「购买更多」按钮即可选购,1 Credit 约 17.5 MB,单次购买更多,单价越便宜,如图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662219.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 之基础(一)

文章目录 SpringBoot 基础基本概念创建 SpringBoot 项目编码编写启动类写 Controller运行 / 测试properties 和 yml关闭 Spring banner日志spring-boot 默认的日志格式 解决 start.spring.io 不能访问不使用 spring boot 的 parent pom SpringBoot 基础 Spring Boot 是由 Pivo…

探析GPT-4o:技术之巅的跃进

如何评价GPT-4o? 简介&#xff1a;最近&#xff0c;GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价&#xff0c;包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 随着人工智能领域的不断发展&#xff0c;GPT系列模型一直处于行业的前沿。最近&#xff0c;GPT-4…

[数据集][图像分类]家庭场景下的家具分类数据集1010张101类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;1010 分类类别数&#xff1a;101 类别名称:[“bath_bath”,“bath_heated_t…

Python开发:简单的密码爆破工具

当我们进行在线密码破解时&#xff0c;使用 BurpSuite 以及 wfuzz 足以应对大部分网站应用场景。但是在遇到一些特殊情况时我们还是需要自己来开发密码爆破工具&#xff0c;本文将介绍如何使用Python开发一款简单的密码爆破工具。 0x01 背景介绍 密码破解 记得有大佬曾经说过…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月29日预测第5弹

昨天的排三再次命中&#xff01;今天继续基于8883的大底进行测试&#xff0c;今天继续测试&#xff0c;好了&#xff0c;直接上结果吧~ 首先&#xff0c;888定位如下&#xff1a; 百位&#xff1a;6,7,5,8,4,9,1,0 十位&#xff1a;4,3,5,2,1,8,0,9 …

时间|基于SprinBoot+vue的时间管理系统(源码+数据库+文档)

时间管理系统 目录 基于SprinBootvue的时间管理系统 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农…

多激光雷达ip与端口配置

首先是雷达的ip 我们连上雷达&#xff0c;想要进入雷达的上位机的时候&#xff0c;需要对本机ip进行一些配置&#xff1a; 第一个是ip&#xff0c;第二个是掩码&#xff0c;第三个是网关。 其中ip可以通过wireshark来进行读取&#xff0c;一般就是192.168.102(雷达默认) 然后掩…

echarts高级应用

目录 一、显示相关 1.1、主题 1.1.1、内置主题 1.1.2、自定义主题 1.2、调色盘和颜色渐变 1.2.1、主题调色盘<全局调色盘<局部调色盘 1.2.2、线性渐变(linear)、径向渐变(radial) 1.3、直接样式和高亮样式 1.3.1、直接样式 1.3.2、高亮样式 1.4、图表自适应 …

Java break细节(标签)

Java break细节(标签)continue也可以使用标签 break是用来跳出循环的。 当有多重循环时&#xff0c;可以配合标签来使用&#xff0c;决定跳出那一重循环。 尽量不要使用标签 1、不代标签时&#xff0c;默认跳出 break 所在的那重循环&#xff1a; 可见在 i 3 时&#xff0…

【后端篇】后端开发工程师-面试攻略

后端开发在系统、软件开发的生命周期过程中有着至关重要的作用&#xff0c;下面就简单聊聊后端开发工程师需要具备的一些知识和技能。 一、扎实的基础知识 作为一名后端开发工程师&#xff0c;对编程语言的深刻理解是必不可少的。无论是 Java、Python、C 等&#xff0c;都需要…

从这些原理中,读懂迅软DSE加密系统

加密技术是保护信息安全的系统&#xff0c;通过对原始数据进行加密&#xff0c;使得未经授权的人无法读取这些信息。 一、迅软DSE加密系统干什么用的&#xff1f; ★保护隐私&#xff1a;加密确保个人、机构的敏感信息在传输和存储过程中不被未授权的人访问。 ★防止数据泄露…

双指针+前缀和,蓝桥云课 近似gcd

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 0近似gcd - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 考虑近似gcd的子数组的特点&#xff1a;不为g的倍数的数字个数小于等于1 我们用前缀和pre[]来存储不为g的倍数的数字个数 那么枚举左端点l&a…

AIGC降重:如何2分钟降低论文AI率和查重率?推荐使用SpeedAI科研小助手

确保学术论文的独立性与诚信性&#xff0c;对于学业的成就及学位的获取至关重要&#xff0c;其中&#xff0c;论文的人工智能查重与降低AIGC相似度扮演着核心角色。 常规的查重手段主要围绕查重软件的运用和个体的自行审查&#xff1b;而降重则通常通过语句重组、同义替换、内…

Leetcode算法题笔记(3)

目录 矩阵101. 生命游戏解法一解法二 栈102. 移掉 K 位数字解法一 103. 去除重复字母解法一 矩阵 101. 生命游戏 根据 百度百科 &#xff0c; 生命游戏 &#xff0c;简称为 生命 &#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子…

Thingsboard规则链:Customer Details节点详解

在物联网&#xff08;IoT&#xff09;平台Thingsboard的规则引擎体系中&#xff0c;Customer Details节点是一个功能强大的组件&#xff0c;它专为处理与客户&#xff08;Customer&#xff09;实体相关的综合信息而设计。这个节点不仅能够读取客户的基本属性&#xff0c;还能提…

【简单介绍下idm有那些优势】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

人工智能在乳腺癌领域的最新进展|【医学AI·文献速递·05-29】

小罗碎碎念 2024-05-29&#xff5c;文献速递 今天分享的文章&#xff0c;主题是AI乳腺癌。 第三篇文章&#xff0c;个人觉得是今天最有借鉴价值的——临床故事接地气&#xff0c;工科算法赶潮流。这篇文章主要做的事情是利用多模态多组学&#xff0c;去区分乳腺腺病和乳腺癌&a…

利用QtScrcpy与Power Automate 实现微信群批量自动清理

Power Automate 一、Power Automate window系统自带软件 在开始使用Power Automate之前&#xff0c;需要熟悉它的基本概念和功能。Power Automate的核心概念包括触发器、操作和连接器。触发器是指触发自动化流程的事件&#xff0c;操作是指在自动化流程中执行的操作&#xff0…

利润而不是损失:谁信任你的游戏本地化

中国游戏市场巨大且前景广阔。这尤其适用于移动游戏&#xff1a;Statista预测&#xff0c;2024年。它的收入将达到346.6亿美元。然而&#xff0c;这种巨大的财务潜力也有其反面&#xff1a;游戏进入市场的次数越多&#xff0c;它们就越难以相互争夺玩家的注意力。此外&#xff…

服务器端请求伪造--SSRF

SSRF 简介 ##SSRF定义 SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由 攻击者构造形成&#xff0c;由服务端发起请求 的一个安全漏洞。一般情况下&#xff0c;SSRF攻击的目标是从 外网无法访问的内部系统&#xff08;正是因为它是由服务端发起的&#xff0c;所…