按步骤操作
Scrapy连接代理的步骤
从上到下依次操作即可。请把 YOUR_TOKEN 替换为您的访问令牌。
第 1 步
安装 Scrapy
终端 pip install scrapy第 2 步
基本连接
代码 import scrapy class PriceSpider(scrapy.Spider): name = "price" start_urls = ["https://ipinfo.io/json"] custom_settings = {"CONCURRENT_REQUESTS_PER_DOMAIN": 4} def start_requests(self): for url in self.start_urls: yield scrapy.Request(url, meta={ "proxy": "http://user-country-de:[email protected]:7777" }) def parse(self, response): yield {"body": response.text}第 3 步
使用固定会话
需要修改的部分 meta={"proxy": "http://user-country-de-session-a1b2:[email protected]:7777"} # 登录后连续浏览多个页面时,请使用同一个会话名称第 4 步
检查连接
响应示例 { "ip": "203.0.113.24", "country": "US", "org": "家庭宽带运营商" }
用户名
用户名规则
在用户名中依次加入值,指定国家、城市、会话和产品。
| 值 | 作用 |
|---|---|
country-国家代码 | 指定连接的国家 |
city-城市名 | 进一步指定城市。仅用于支持城市定位的国家 |
session-名称 | 开启固定会话。名称相同则使用同一 IP |
type-mobile 或 type-dc | 切换为移动或数据中心代理。不写则为住宅代理 |
用户名这样拼接
user开头country-us国家session-a1b2固定会话结果 user-country-us-session-a1b2
问题排查
Scrapy连接错误排查
出现 407 错误
表示用户名或令牌有误。请检查令牌前后是否有空格,以及用户名是否以 user- 开头。
连接超时
把 timeout 调到 30 秒左右,并减少对同一网站的并发请求数。
无法保持同一 IP
请检查用户名中是否有 session 值。固定会话最长保持 30 分钟。
无法定位到想要的城市
请在支持国家页面确认该国是否支持城市定位,并用英文小写字母和下划线填写城市名。
更多
其他接入指南
在 Python requests 中使用代理
requests 是 Python 中最常用的网页请求库之一。在 proxies 中填入 ProxySup 网关地址即可直接连接。
查看指南为 Playwright 连接代理
Playwright 是用代码操作浏览器的工具。启动浏览器时在 proxy 选项中填入网关、用户名和令牌,所有页面请求都会经过 ProxySup。
查看指南