使用Python中的proxy_from_url()函数实现代理IP的验证和筛选
发布时间:2024-01-01 21:44:05
在Python中,我们可以使用proxy_from_url()函数来实现代理IP的验证和筛选。proxy_from_url()函数是requests库中的一个方法,用于创建支持HTTP和HTTPS协议的代理。
首先,我们需要使用pip安装requests库。运行以下命令:
pip install requests
接下来,我们可以使用以下代码来实现代理IP的验证和筛选功能的一个例子:
import requests
# 代理IP列表
proxy_list = [
'http://ip1:port1',
'https://ip2:port2',
'http://ip3:port3'
]
# 验证代理IP是否可用
def verify_proxy(proxy):
try:
response = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=5)
if response.status_code == 200:
print(f'{proxy} is working')
return True
else:
print(f'{proxy} is not working')
return False
except:
print(f'{proxy} is not working')
return False
# 筛选可用的代理IP
def filter_proxies(proxies):
working_proxies = []
for proxy in proxies:
if verify_proxy({'http': proxy}):
working_proxies.append(proxy)
return working_proxies
# 筛选可用的代理IP
working_proxies = filter_proxies(proxy_list)
print(working_proxies)
在上面的例子中,我们首先定义了一个代理IP列表proxy_list,其中包含了多个HTTP代理和HTTPS代理。然后,我们定义了一个verify_proxy()函数,用于验证代理IP是否可用。我们使用requests.get()方法向'http://httpbin.org/ip'发送GET请求,并在请求中指定了代理IP。如果返回的状态码是200,我们就认为代理IP可用,输出相应信息。否则,我们认为代理IP不可用,也输出相应信息。
接下来,我们定义了一个filter_proxies()函数,用于筛选可用的代理IP。我们遍历传入的代理IP列表,对每个代理IP调用verify_proxy()函数进行验证。如果代理IP可用,我们将其添加到一个新的列表working_proxies中。最后,我们输出了筛选后的可用代理IP列表。
运行以上代码,你将得到一个只包含可用代理IP的列表。你可以根据自己的需求进一步处理和使用这些代理IP,比如用于爬取网页数据。
需要注意的是,验证代理IP的过程可能需要较长的时间,因为需要向目标网站发起请求并等待响应。因此,在实际使用中,你可能需要设置合适数量的并发请求,以提高验证的效率。
