首页 > 其他分享 >新手网络爬虫利器介绍 之 移动蜂窝网络代理

新手网络爬虫利器介绍 之 移动蜂窝网络代理

时间:2024-08-28 13:58:06浏览次数:14  
标签:用户名 IP Shanghai 代理 网络 proxy https 新手 爬虫

移动蜂窝代理对接说明

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

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

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

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

移动蜂窝代理

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

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

申请方法

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

使用方法

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

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

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

命令测试

有了代理的用户名密码之后,最方便的方法便是通过 curl 命令行进行测试,如尚未安装,请参考 https://curl.se/ 安装即可。

假如当前代理的用户名密码是 1f78266a:eff0896726224fa2a99fe82dd1f07562,我们可以用如下 curl 命令进行测试:

curl -x 1f78266a:[email protected]:30000 https://ipinfo.io

这里我们使用 curl 的 -x 参数指定了代理地址,代理协议默认是 HTTP/HTTPS,这里请求的 URL 是 https://ipinfo.io,这个站点可以返回请求该站点的真实 IP 地址和 IP 所在地域。

注意:上述用户名密码可能无效,请自行替换成你的用户名密码。

运行结果如下:

{
  "ip": "39.144.10.182",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}

可以看到,返回结果的 country 是 CN,代表中国,org 是 China Mobile,代表中国移动网络,确实是蜂窝代理出口。

如果再次运行,可以得到不一样的结果,每次请求都是随机的 IP 出口。

代码对接

下面以 Python 为例演示该蜂窝轮换代理的设置方法:

import requests

proxy = 'http://{proxy_username}:{proxy_password}@cellular.proxy.acedata.cloud:30000'

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

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

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

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

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

运行结果如下:

{
  "ip": "39.144.18.26",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.18.26",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.182.55",
  "city": "Zhanjiang",
  "region": "Guangdong",
  "country": "CN",
  "loc": "21.2339,110.3875",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "524000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}

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

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

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

import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '{proxy_username}' # 8位用户名
proxy_password = '{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('https://ipinfo.io',
                        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 = "{proxy_username}"; // 8位用户名
const proxy_password = "{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("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}

运行效果都是一样的。

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

购买更多

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

要购买更多,请到「申请页面」直接点击「购买更多」按钮即可选购,单次购买更多,单价越便宜。

标签:用户名,IP,Shanghai,代理,网络,proxy,https,新手,爬虫
From: https://blog.csdn.net/Acedata1/article/details/141638953

相关文章

  • 分享一个基于Python的程序员薪资数据分析可视化与岗位推荐系统flask爬虫毕设(源码、调
    ......
  • 007 交换与路由安全:保护你的网络
    引言随着网络攻击的不断增多,保护路由和交换网络的安全变得尤为重要。本篇博文将探讨交换与路由中的常见安全威胁及相应的防护措施,帮助你构建一个更为安全的网络环境。1.ARP欺骗与MAC地址欺骗攻击ARP欺骗和MAC地址欺骗是常见的局域网攻击手段,攻击者可以通过伪造地址来拦......
  • 毕业设计——基于IPSec VPN的高可靠性中学校园网络设计与实现
    ​​​​​​​目录文章目录摘要1前言1.1研究背景 1.2国内外研究现状 1.3设计方法与思路 1.3.1设计方法2.需求分析2.1用户及网络需求分析2.1.1网络需求分析2.1.2用户信息需求2.1.3业务需求分析2.1.4应用需求分析2.2可行性分析 2.3现状分析 ......
  • 使用Kotlin+协程+Flow+Retrofit+OkHttp搭建一套网络请求工具
    文章目录一、前言二、搭建Java工程1.打开AndroidStudio建一个Android工程2.修改该工程的build.gradle文件为Java工程,并配置如下:3.搭建一个RetrofitUtils请求工具类,这都是常规操作了,如下4.建一个NetWorkAPi作为Retrofit请求接口:5.建一个WXRepository为了和A......
  • 二分图网络流选讲
    前言完稿时间:2024.6.30二分图网络流选讲二分图定义无向图节点可两集合每个集合中的节点互不连边性质将两个集合中的点分别染成黑色和白色,可以发现二分图中的每一条边都一定是连接一个黑色点和一个白色点(废话)图中没有长度为奇数的环证明性质2:因为每一条边都是从一个......
  • 秃姐学AI系列之:残差网络 ResNet
    目录残差网络——ResNet残差块思想ResNet块细节ResNet架构总结代码实现残差块两种ResNet块的情况 ResNet模型QA由上图发现,只有当较复杂的函数类包含较小的函数类时,才能确保提高它们的性能。对于深度神经网络,如果我们能将新添加的层训练成恒等映射(identityfu......
  • 运维怎么转行网络安全?零基础入门到精通,收藏这一篇就够了
    经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。1、为什么我建议你学习网络安全?有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求......
  • Android网络请求 |(一) 网络基础概念
    一、前端和后端 前端和后端通过接口交互。前端web端:使用的网页,打开的网站都是前端(使用html、css等语言)显示页面以及做一些简单的校验,比如说非空校验app端:android或者object-C(开发ios上的app)开发的app,后端在页面上操作的业务逻辑、功能如:后端控制购物的时候扣除的余额,......
  • 《黑悟空》新手教程:迈出成为孙悟空的第一步欢迎来到《黑悟空》的奇幻世界!
                    在这款游戏中,你将扮演西游记中的经典角色——孙悟空,经历一场惊心动魄的冒险。本教程将带你了解游戏的基本操作、角色成长、战斗系统等,帮助你快速上手,成为真正的美猴王!##一、游戏基本操作###1.移动使用左摇杆控制孙悟空的移动。长按移动......
  • Python数据采集与网络爬虫技术实训室解决方案
    在大数据与人工智能时代,数据采集与分析已成为企业决策、市场洞察、产品创新等领域不可或缺的一环。而Python,作为一门高效、易学的编程语言,凭借其强大的库支持和广泛的应用场景,在数据采集与网络爬虫领域展现出了非凡的潜力。唯众特此推出《Python数据采集与网络爬虫技术实训......