鑑於隧道代理確實好用,大家都會更願意使用這一技術,但無論你去哪家HTTP代理服務提供商那各種對比,可以發現,隧道代理的成本確實比普通HTTP代理的成本高出不少,甚至很多HTTP代理服務提供商直接就沒有隧道代理這產品。
需要成本控制的情況下,我們可以使用HTTP代理池子自己搭建隧道代理。
注意,我們這次的主題是要先有HTTP代理池子,如果沒有,要麼自己用免費的搞一個,要麼直接去和HTTP代理服務提供商花米搞一個,這不難,就不展開說了。
不過建議的不要用免費的,可用率不大行耽誤事,還容易踩各種坑,相信懂的都懂。
我們來說說今天的重點,有了HTTP代理池子以後,要如何搭建起來隧道代理?
其實不難。
1.安裝庫
先肯定我們安裝了requests庫。
pip install requests
2.搭建隧道
我這邊用的是我常使用的青果網路的HTTP代理,具體你們可以替換成你們自己買的API地址。
import requests import time # HTTP代理池的API地址 proxy_api_url = ' # 配置代理伺服器的地址和埠 proxy_server = 'PROXY_IP' proxy_port = PROXY_PORT # 設定目標網站的URL target_url = '目標網站' # 函式用於獲取HTTP代理併發起HTTP請求 def get_and_use_proxy(): while True: try: # 獲取HTTP代理 response = requests.get(proxy_api_url) proxy_json = response.json() proxy = proxy_json[0]['proxy'] # 發起HTTP請求,使用獲取的代理 response = requests.get(target_url, proxies={'http': f'http://{proxy_server}:{proxy_port}'}) # 檢查請求是否成功 if response.status_code == 200: print(response.text) else: print(f'Request failed with status code: {response.status_code}') except Exception as e: print(f'Error: {str(e)}') # 等待10秒 time.sleep(10) # 建立並啟動執行緒 proxy_thread = threading.Thread(target=get_and_use_proxy) proxy_thread.start() # 主執行緒可以繼續執行其他任務
我們可以根據配置檔案稍作修改。
當然實在整不明白,也不影響什麼。實際工作中我們基本都是直接用有隧道代理服務提供商的產品的。自己整隧道,1來維護麻煩2來花時間花精力,對於有時限的專案來說不划算,無聊練手是可以啦。