概述

IP 地图可视化功能可以生成包含代理 IP 地理位置的交互式 HTML 地图,使用 MapLibre GL JS 渲染,支持 Cyberpunk 风格的主题。

方式一:自动生成地图

在请求时启用 map_output 参数,自动生成地图文件。

使用示例

python
import cfspider

# 启用地图输出
response = cfspider.get(
    "https://httpbin.org/ip",
    cf_proxies="https://your-workers.dev",
    map_output=True,
    map_file="my_map.html"
)
# 自动生成包含 IP 信息的地图文件

参数说明

参数 类型 默认值 说明
map_output bool False 是否生成 IP 地图 HTML 文件
map_file str "cfspider_map.html" 地图输出文件名

方式二:使用 IPMapCollector

手动收集 IP 记录并生成地图。

类定义

python
class IPMapCollector:
    def add_record(
        self,
        url: str,
        ip: str = None,
        cf_colo: str = None,
        cf_ray: str = None,
        status_code: int = None,
        response_time: float = None
    )
    
    def generate_map_html(output_file: str = "cfspider_map.html")
    
    def clear_records()

使用示例

python
import cfspider

# 获取收集器
collector = cfspider.get_map_collector()

# 添加 IP 记录
collector.add_record(
    url="https://example.com",
    cf_colo="NRT",  # 东京
    cf_ray="8a1b2c3d4e5f-NRT",
    status_code=200,
    response_time=150.5
)

collector.add_record(
    url="https://example.org",
    cf_colo="SIN",  # 新加坡
    status_code=200,
    response_time=200.3
)

# 生成地图
collector.generate_map_html("my_map.html")

# 清空记录
collector.clear_records()

便捷函数

cfspider.add_ip_record()

添加 IP 记录到全局收集器。

python
cfspider.add_ip_record(
    url="https://example.com",
    cf_colo="NRT",
    status_code=200,
    response_time=150.5
)

cfspider.generate_map_html()

生成地图 HTML 文件。

python
cfspider.generate_map_html("output_map.html")

cfspider.clear_map_records()

清空所有 IP 记录。

python
cfspider.clear_map_records()

支持的节点代码

CFspider 支持以下 Cloudflare 节点代码(主要节点):

亚洲

北美

欧洲

其他地区

地图特性