
手把手教你把代理IP数据转成CSV文件
搞数据采集的老铁们都知道,代理IP用完了得存起来分析。但很多工具导出来的格式乱七八糟,今天教你们用Python整活,把代理IP数据收拾得明明白白,直接转CSV表格带走。
采集前先备好工具包
准备个趁手的代理IP服务很重要,这里推荐ipipgo的动态住宅(标准)套餐,7块多1个G流量够用不贵。他们家API调用特别简单,拿到的数据长这样:
{
"ip": "123.123.123.123",
"port": 8888,
"expire_time": "2024-01-01 12:00",
"location": "美国 德州"
}
注意看字段是不是齐全,有些服务商给的数据缺胳膊少腿,后面处理要抓狂。
实战采集三步走
这里咱们用Python写个简单的脚本,记得装好requests和pandas这两个库:
import requests
import pandas as pd
从ipipgo拿数据的接口(自己换真实API)
api_url = "https://api.ipipgo.com/get_proxy"
resp = requests.get(api_url)
raw_data = resp.json()
重点!把数据拍平了整理
clean_data = []
for item in raw_data['proxies']:
clean_data.append({
'IP地址': item['ip'],
'端口号': str(item['port']), 转字符串防出错
'过期时间': item['expire_time'],
'所在地': item['location'].split()[0] 只要国家
})
变魔术的时刻到了
df = pd.DataFrame(clean_data)
df.to_csv('代理IP清单.csv', index=False, encoding='utf-8-sig')
跑完脚本当前目录就会蹦出来代理IP清单.csv,用Excel打开长这样:
| IP地址 | 端口号 | 过期时间 | 所在地 |
|---|---|---|---|
| 123.123.123.123 | 8888 | 2024-01-01 12:00 | 美国 |
避坑指南划重点
坑点1:遇到数据里有嵌套字典的情况,得用json_normalize函数展开,别硬刚
坑点2:csv打开乱码的话,把encoding参数换成utf-8-sig
坑点3:ipipgo的静态住宅IP有效期长,适合需要长期监控的业务场景
常见问题快问快答
Q:导出来的CSV怎么少了几列数据?
A:检查API返回字段和代码里的字典key是否完全对应,建议先用print输出看看原始数据格式
Q:企业级采集需求用什么套餐划算?
A:数据量大的直接上ipipgo动态住宅(企业)套餐,9块多1G流量还带请求优先级
Q:代码报SSL证书错误咋整?
A:在requests.get里加上verify=False参数,但正式环境不建议这么干
为什么选ipipgo?
自家用的真实体验:
1. 凌晨三点提工单居然有人回,吓到
2. 有个冷门小国的IP需求,客服真给搞定了
3. 流量用超了不会直接断线,这点很人性化
4. 不同业务可以混搭套餐,不用被捆绑消费
最后唠叨句,数据清洗时记得用pandas的drop_duplicates()去重,别让重复IP浪费资源。转CSV虽然简单,但细节处理到位能省好多后续麻烦,特别是做跨境电商的朋友,选对代理IP服务商真的能让爬虫效率翻倍。

