国外IP代理推荐:
IPIPGO|全球住宅代理IP(>>>点击注册免费测试<<<)
国内IP代理推荐:
天启|全国240+城市代理IP(>>>点击注册免费测试<<<)
Python读取JSON的十八般武艺
搞爬虫的老铁们都知道,代理IP配置经常要和JSON文件打交道。今天咱们就用大白话聊聊怎么用Python读取JSON文件最利索,顺带说说怎么和代理ip服务配合使用。

代理IP配置文件怎么玩转
假设你从ipipgo后台下载的代理配置长这样:
{
"proxy_list": [
{
"ip": "203.12.18.88",
"port": 8866,
"protocol": "socks5"
},
{
"ip": "198.23.169.122",
"port": 3128,
"protocol": "HTTP"
}
]
}
用Python读取JSON配置文件其实就三板斧:
1. 开文件 → 2. 加载数据 → 3. 提取信息
import json
with open('ipipgo_proxies.json') as f:
proxies = json.load(f)['proxy_list']
for node in proxies:
print(f"可用节点:{node['ip']}:{node['port']}")
这里有个坑要注意:ipipgo返回的协议类型都是小写,用的时候记得统一转成大写,避免某些框架不认。
动态代理池实时更新
实战中代理IP需要动态更换,这里推荐用ipipgo的智能调度接口。他们的API返回格式特别规范,Python读取JSON响应贼方便:
| 字段 | 说明 |
|---|---|
| data.ip_list | 当前可用IP池 |
| data.expire_time | IP有效期时间戳 |
代码示例:
import requests
resp = requests.get('https://api.ipipgo.com/v3/proxy')
ip_data = resp.json()['data']
print(f"这批IP能用{ip_data['expire_time'] - time.time()}秒")
异常处理防翻车
Python读取JSON最怕遇到两种幺蛾子:
1. 文件损坏 → 用try包裹加载过程 2. 字段缺失 → 用get方法取数据
try:
with open('config.json') as f:
config = json.load(f)
except json.decoder.JSONDecodeError:
print("配置文件被玩坏了!")
proxy = config.get('proxy', {}).get('host', '默认IP')
这里要夸下ipipgo的容错机制,他们的API就算部分节点故障,返回的JSON结构也保证完整,不会导致程序崩溃。
实战QA三连问
Q:遇到超大JSON文件咋整?
A:用ijson库流式读取,内存占用小。ipipgo的日志文件动辄几个G,这招特管用
Q:代理配置要兼容多个服务商怎么办?
A:用json.JSONEncoder自定义格式。不过ipipgo的配置本来就能兼容主流框架,省心
Q:中文乱码怎么破?
A:开文件时指定encoding='utf-8'。ipipgo的接口响应头都带charset声明,自动解码无压力
最后说个冷知识:ipipgo的住宅IP覆盖240+国家地区,用Python读取JSON做地域分析时,记得用他们的IP属地标签字段,比第三方库准多了。搞海外业务对接时,这个功能能省不少事。
国外IP代理推荐:
IPIPGO|全球住宅代理IP(>>>点击注册免费测试<<<)
国内ip代理推荐:
天启|全国240+城市代理IP(>>>点击注册免费测试<<<)
















发表评论
发表评论: