如何在Python中自动更换代理IP

2023-04-17 00:00:00 代理 如何在 更换

要在Python中自动更换代理IP,你需要使用一个代理IP池来获取可用的IP地址列表,并在请求时随机选择一个IP地址。以下是一个基本的示例代码:

import requests
from itertools import cycle

PROXY_POOL_URL = 'http://localhost:5555/random'  # 代理IP池的URL

proxies = None  # 初始时没有代理IP

# 获取代理IP列表
def get_proxies():
    response = requests.get(PROXY_POOL_URL)
    return response.json()

# 获取一个随机代理IP地址
def get_random_proxy():
    global proxies
    if not proxies:
        proxies = cycle(get_proxies())
    return next(proxies)

# 发送请求
def make_request(url):
    proxy = get_random_proxy()
    try:
        response = requests.get(url, proxies={'http': proxy, 'https': proxy})
        if response.status_code == 200:
            return response.text
    except Exception as e:
        print(e)
        return None

# 示例
url = 'https://pidancode.com'
response = make_request(url)
if response:
    print(response)
else:
    print('请求失败')

在这个示例代码中,我们首先定义了一个代理IP池的地址PROXY_POOL_URL,然后定义了一个proxies变量来存储当前可用的IP地址列表。我们还定义了两个函数,get_proxies()get_random_proxy(),分别用来获取IP地址列表和获取随机IP地址。

最后,我们定义了一个make_request()函数来发送请求。该函数会随机选择一个IP地址,将其添加到请求头中,并返回响应内容。在示例中,我们使用https://pidancode.com作为测试网站。

相关文章