You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从目标网站仅提取IP地址与端口?

优化方案:仅提取IP与端口

原代码会把API返回的所有数据转成字符串保存,要实现只提取IP和端口,只需遍历返回的代理列表,精准取出每个代理的ip和port字段拼接即可,优化后的代码如下:

import requests

url = "https://proxylist.geonode.com/api/proxy-list?limit=500&page=1&sort_by=lastChecked&sort_type=desc"

session = requests.session()
scraper = session.get(url)
proxies = scraper.json()["data"]

# 提取IP和端口,格式化为"ip:port"
proxy_list = []
for proxy in proxies:
    # 将端口转为字符串,避免拼接时类型报错
    ip_port = f"{proxy['ip']}:{str(proxy['port'])}"
    proxy_list.append(ip_port)

# 写入文件,每行一个代理地址
with open(r"C:\Users\chris\OneDrive\Desktop\misc\a\hello.txt", "w", encoding="utf-8") as file:
    file.write("\n".join(proxy_list))

关键改动说明

  • 放弃把整个data转成字符串的操作,改为遍历每个代理字典,精准提取目标字段
  • 用f-string拼接成ip:port的通用格式,同时把API返回的数字类型端口转为字符串,避免拼接报错
  • 使用with语句管理文件操作,自动处理文件关闭,比手动open/close更安全稳妥

可选优化:增加异常兼容

如果API返回的部分代理数据缺失ip或port字段,可以添加判断逻辑避免程序报错:

proxy_list = []
for proxy in proxies:
    # 先检查字段是否存在,再提取
    if "ip" in proxy and "port" in proxy:
        ip_port = f"{proxy['ip']}:{str(proxy['port'])}"
        proxy_list.append(ip_port)

内容的提问来源于stack exchange,提问作者GReat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:35:28