为何选择 PYTHON + PROXY POLAND
Python 是网络爬取、数据收集和自动化最流行的语言。通过 Proxy Poland 的 4G/5G 手机代理路由您的 Python 请求,您将获得真实的手机运营商 IP,可绕过反机器人系统和地理限制。
Python 配置应使用生产环境相同的代理协议、浏览器配置、目标网站和账号流程来测试。扩展前请检查可见 IP、DNS 路由、ASN、会话保持、轮换行为、登录状态、HTTP、SOCKS5、OpenVPN、VLESS 和控制台状态是否一致。
这页是中文集成指南,说明如何把移动代理接入浏览器、脚本、反检测工具或自动化框架。重点检查代理主机、端口、协议、认证、DNS 路由、出口 IP、会话保持和轮换行为是否与工具设置一致。
完成配置后不要直接扩大任务量。先用小流量验证目标网站响应、账号登录状态、浏览器指纹、地理位置、运营商网络、超时、重试和错误码,再决定是否进入生产工作流。
设置说明
- 01
安装 Requests 库
安装 requests 库或您喜欢的 HTTP 客户端:
pip install requests # For SOCKS5 support: pip install requests[socks] # For async scraping: pip install aiohttp
- 02
获取代理凭据
在 proxypoland.com 注册并获取您的代理 IP、端口、用户名和密码。
- 03
配置 HTTP 代理(requests)
通过 HTTP 代理路由请求:
import requests proxies = { 'http': 'http://username:password@proxy-ip:port', 'https': 'http://username:password@proxy-ip:port', } response = requests.get( 'https://httpbin.org/ip', proxies=proxies ) print(response.json()) # Should show Polish mobile IP - 04
配置 SOCKS5 代理
使用 SOCKS5 进行包括 DNS 在内的完整流量路由:
import requests proxies = { 'http': 'socks5://username:password@proxy-ip:port', 'https': 'socks5://username:password@proxy-ip:port', } response = requests.get( 'https://httpbin.org/ip', proxies=proxies ) print(response.json()) - 05
与 Scrapy 一起使用
配置 Scrapy 使用手机代理:
# scrapy settings.py HTTP_PROXY = 'http://username:password@proxy-ip:port' DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110, } # Or use ROTATING_PROXY_LIST: ROTATING_PROXY_LIST = [ 'http://username:password@proxy-ip:port', ] - 06
添加 IP 轮换
使用轮换 API 在爬取会话之间轮换 IP:
import requests def rotate_ip(proxy_ip, port, username, password): """Trigger IP rotation via the mobile proxy API""" response = requests.get( f'http://{proxy_ip}:{port}/rotate', auth=(username, password) ) return response.json() # Rotate before each scraping batch new_ip = rotate_ip('proxy-ip', 'port', 'user', 'pass') print(f'New IP: {new_ip}') - 07
验证您的 IP
检查您的请求是否通过代理路由:
import requests proxies = { 'http': 'http://username:password@proxy-ip:port', 'https': 'http://username:password@proxy-ip:port', } response = requests.get('https://httpbin.org/ip', proxies=proxies) print(response.json()['origin']) # Should show Polish mobile carrier IP
专业提示
使用 SOCKS5 防止敏感爬取任务中的 DNS 泄露
对有速率限制的网站实施带指数退避的重试逻辑
在爬取批次之间轮换 IP 以避免基于 IP 的封禁
使用 aiohttp 与 asyncio 进行高吞吐量并发爬取
设置真实的 User-Agent 标头以补充手机 IP
适用于以下场景
FAQ
哪个 Python 库最适合手机代理?+
requests 是基本爬取最简单的选择。对于异步工作负载使用 aiohttp。对于大规模爬取框架,带代理中间件的 Scrapy 是理想选择。
我可以在 Python 中使用 SOCKS5 吗?+
可以。安装 requests[socks](pip install requests[socks]),并使用 socks5://用户:密码@主机:端口 作为代理 URL。SOCKS5 路由所有流量包括 DNS。
如何在 Python 中处理代理认证?+
直接在代理 URL 中传递凭据:http://用户名:密码@主机:端口 或使用 requests 的代理字典。HTTP 和 SOCKS5 认证都支持。
我可以将这些代理与 Scrapy 一起使用吗?+
可以。设置 ROTATING_PROXY_LIST 或配置带代理凭据的自定义下载器中间件。Scrapy 的内置代理支持与 Proxy Poland 代理无缝配合。
使用 Python + 手机代理的爬取速度有多快?+
我们的 4G/5G 连接提供 30-100 Mb/s 的吞吐量。使用异步 Python(aiohttp + asyncio),您可以通过单个代理处理数十个并发请求。
如何为Proxy Poland HTTP/HTTPS配置Python requests库?+
proxies = {'http': 'http://user:pass@host:port', 'https': 'http://user:pass@host:port'}; requests.get(url, proxies=proxies)。对于SOCKS5:proxies = {'http': 'socks5h://user:pass@host:port', 'https': 'socks5h://user:pass@host:port'}——注意socks5h以通过代理解析DNS,需要pysocks:pip install requests[socks]。为了持久使用,创建一个设置了proxies的requests.Session(),避免在每次调用时重复传递。
如何在aiohttp的connector中使用Proxy Poland?+
aiohttp本身不支持SOCKS5——安装aiohttp-socks并使用ProxyConnector.from_url('socks5://user:pass@host:port'):connector = ProxyConnector.from_url('socks5://user:pass@host:port'); async with aiohttp.ClientSession(connector=connector) as session: resp = await session.get(url)。对于HTTP代理:aiohttp原生支持在request中传递proxy='http://user:pass@host:port'。
在Polish代理上进行轮换会话池的Python模式是什么?+
维护一个代理URL列表,将每个包装在预配置代理的requests.Session中,并轮询使用:sessions = [make_session(proxy) for proxy in proxy_list];def get_session(): return sessions[call_count % len(sessions)]。对于IP轮换(而非仅仅使用不同端点),在调用rotation API后让同一个session的IP改变:requests.post(rotation_url);time.sleep(10);继续使用相同的session。
pycurl是否适用于Proxy Poland,ssl_verify怎么处理?+
适用——c.setopt(pycurl.PROXY, 'socks5://user:pass@host:port'); c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5_HOSTNAME)用于SOCKS5h(通过代理的DNS)。对于HTTP:c.setopt(pycurl.PROXY, 'host'); c.setopt(pycurl.PROXYPORT, port); c.setopt(pycurl.PROXYUSERPWD, 'user:pass')。ssl_verify控制目标SSL,而非代理认证——通常保持SSL验证开启(默认),除非您在进行HTTPS流量检测。
如何通过DOWNLOADER_MIDDLEWARES将Proxy Poland与Scrapy集成?+
将'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110添加到DOWNLOADER_MIDDLEWARES(默认已启用)。在settings.py中设置request.meta['proxy'] = 'http://user:pass@host:port',或在Spider的start_requests中按请求设置:yield scrapy.Request(url, meta={'proxy': 'socks5://user:pass@host:port'})。对于自动轮换,编写自定义middleware在下载器错误或N个请求后调用rotation API。
如何从Python发送rotation API调用?+
import requests; requests.post('https://api.proxypoland.com/rotate', params={'token': YOUR_TOKEN}, timeout=30)。等待10-15秒让新IP生效再继续爬取。验证IP变化:before = requests.get('https://ifconfig.me', proxies=proxies).text; call_rotate(); time.sleep(12); after = requests.get('https://ifconfig.me', proxies=proxies).text; assert before != after。
Python的urllib3 PoolManager是否可以直接使用Proxy Poland?+
适用于HTTP——http = urllib3.ProxyManager('http://user:pass@host:port'); http.request('GET', url)。对于SOCKS5,需要urllib3.contrib.socks.SOCKSProxyManager:from urllib3.contrib.socks import SOCKSProxyManager; http = SOCKSProxyManager('socks5h://user:pass@host:port'); http.request('GET', url)。SOCKSProxyManager需要urllib3的socks extra:pip install urllib3[socks]。