如何在Python中自动更换代理IP
要在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
作为测试网站。
相关文章