當我們選擇HTTP代理的時候,經常看到人說,
“芝麻代理不錯,就是貴瞭點。”
“芝麻代理的還可以,如果預算夠的話”
……
但如果我們在互動社區,也能常常看到又朋友說不行的。
吐槽的時長跨度好幾年的,看到這我生出一種疑問,目前市面上很多HTTP代理都有提供試用,購買之前大部分人都會使用,如果測試結果不行,為什麼會購買?
秉著對真相的探究,我購買芝麻網絡HTTP代理進行測試供大傢參考。那一起看看測試結果吧!
1.測試HTTP代理的註意事項
在測試之前,我們需要註意的是:
- 測試環境應該符合實際應用環境
- 測試頻率要符合我們日常做數據采集的使用習慣
- 測試IP的節點范圍要廣
- 不同應用場景下的不同需求,需要選擇適合的測試方法和指標
2. HTTP代理測試項目
本次主要測試這幾個方面:穩定性、匿名程度、響應速度、IP池可用率以及帶寬等問題,通常我們會結合多種測試方法和工具,以此來全面評估這傢HTTP代理的質量,衡量是否值得購買。
- 響應速度
通過測量HTTP代理與目標服務器之間的響應時間,評估HTTP代理的連接速度。在測試的時候,可以統計一下所有的時間,然後測算平均響應時間。如果這個HTTP代理能夠更快地傳輸請求和接收響應,證明這個HTTP代理速度越快。
- 可用率
一個可用性高的HTTP代理意味著它在大部分時間內都能正常工作,並且能夠順利傳遞請求和響應。我這設置成30秒,意思就是使用這個HTTP代理訪問網站超過30秒還是得不到響應,就默認為這個HTTP代理無效瞭。
假設我們一次性提取1000個HTTP代理,如果這1000個HTTP代理在我們使用的時候,有50個超過30秒得到不到響應/無法傳遞請求,則認為這個可用率為(1000-50)➗1000=95%。
- 穩定性
在數據抓取的時候,我們會用到大量的HTTP代理,一個穩定的HTTP代理能夠長時間保持連接,並且不會頻繁斷開或出現連接錯誤,才能有效助力我們數據抓取。
- 帶寬
對於大部分的用戶來說,HTTP代理的帶寬高低也很影響使用體驗,而影響HTTP代理的帶寬高低的因素蠻多的,如:HTTP代理的使用人數、廠商對HTTP代理帶寬的限制、代理服務器的性能等。
ps:大傢如果想要自己測試,可以根據實際需求和應用場景稍作調整。
3.測評環境
良好的測試環境,需要在穩定的網絡環境下測試,以及,至少跑得動的設備,手動加狗頭。
這次測評,我是使用 python 30個線程池進行多線程測試,其中電腦配置如下:
4.測試鏈接
是我們熟悉的,度娘
5.測試數量
選擇提取1000個HTTP代理進行測試,先沖個50。
6.測試過程
這次,我把響應速度和可用率結合在一起,測試芝麻代理對百度站點的連通性和請求延遲。
- 有效性+延遲代碼如下:
import logging
import time
from concurrent.futures import thread
import requests
thread_pool = thread.ThreadPoolExecutor(max_workers=30)
session = requests.session()
# 測試代理ip有效性核心代碼
def test_proxy_usability(proxy_ip,thread_id):
target_url = 'http://www.baidu.com'
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
proxies = {
'http': f'http://{proxy_ip}',
'https': f'http://{proxy_ip}'
}
try:
status = "失敗"
resp = session.get(target_url,headers=headers, proxies=proxies, timeout=5)
if resp.status_code == 200:
status = "成功"
else:
pass
except Exception as e:
pass