在Python3中,處理代理IP的方法有很多種。這里,我將向您展示如何使用requests
庫和random
庫來實現一個簡單的代理IP池。
首先,您需要安裝requests
庫(如果尚未安裝):
pip install requests
接下來,創建一個包含多個代理IP的列表。這些代理IP可以從免費或付費的代理服務提供商處獲取。
proxies_list = [
{'http': 'http://proxy1.example.com:8080'},
{'http': 'http://proxy2.example.com:8080'},
{'http': 'http://proxy3.example.com:8080'},
# ... 更多代理IP
]
現在,我們可以使用random.choice()
函數從代理列表中隨機選擇一個代理IP,并將其用于請求。
import requests
import random
def get_proxy():
return random.choice(proxies_list)
def fetch_url(url):
proxy = get_proxy()
try:
response = requests.get(url, proxies=proxy, timeout=5)
response.raise_for_status()
return response.text
except requests.exceptions.RequestException as e:
print(f"Error while fetching {url}: {e}")
return None
url = "https://www.example.com"
content = fetch_url(url)
if content:
print(content)
else:
print("Failed to fetch content")
在這個示例中,我們定義了一個get_proxy()
函數,它從proxies_list
中隨機選擇一個代理IP。然后,我們定義了一個fetch_url()
函數,它使用選定的代理IP發送請求。如果請求成功,它將返回響應內容;否則,它將返回None
。
請注意,這個示例僅用于演示目的。在實際應用中,您可能需要根據需求對代碼進行調整,例如添加錯誤處理、設置請求頭等。