爬虫如何获取免费代理IP
在Python中,你可以使用requests
库配合免费代理网站API来获取免费的代理IP。以下是一个简单的示例,展示了如何从代理服务提供商那里获取一个随机的代理IP,并使用该代理发送一个HTTP请求。
import requests
# 代理服务提供商API URL
proxy_url = 'http://api.proxybroker.com/v2/available/'
# 使用代理所需的头信息
headers = {
'Accept': 'application/json',
'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;'
}
# 获取代理IP
def get_proxy():
response = requests.get(proxy_url, headers=headers)
if response.status_code == 200:
# 从响应中提取代理IP和端口
proxy_list = response.json().get('proxies')
if proxy_list:
proxy = proxy_list[0] # 使用列表中的第一个代理
return proxy['host'], proxy['port']
# 使用代理发送请求
def use_proxy(url, proxy):
proxies = {
'http': f'http://{proxy[0]}:{proxy[1]}',
'https': f'https://{proxy[0]}:{proxy[1]}'
}
response = requests.get(url, proxies=proxies)
if response.status_code == 200:
print('Success:', response.text)
else:
print('Failed to retrieve content.')
# 示例URL
url = 'http://httpbin.org/ip'
# 获取并使用代理
proxy = get_proxy()
use_proxy(url, proxy)
请注意,这个示例假设代理服务提供商的API是可用的,并且你需要自行找到一个可用的免费代理服务提供商。这个API会返回代理的详细信息,包括代理类型、国家、城市以及代理IP和端口。在实际应用中,你可能需要处理付费代理的验证过程,并且可能需要定期检查代理的可用性。
评论已关闭