使用API提取模式HTTP代理的步骤如下:
1. 从代理服务提供商处获取API地址和相关参数。不同服务提供商的API地址和参数格式可能会有所不同。
2. 在代码中使用requests库发送HTTP请求获取代理IP。一般需要传入相关参数(如验证信息、请求方法等)。
3. 解析请求结果,获得代理IP。
4. 使用获取到的代理IP进行网络请求。
下面是一个使用API提取模式HTTP代理的示例代码:
```python
import requests
# 代理服务商提供的API地址和参数。此处以草榴社区为例,仅供参考。
api_url = 'https://www.zdaye.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
# 发送HTTP请求,获取代理IP
response = requests.get(api_url, headers=headers)
proxy_ip = response.text.strip() # 去除字符串两端空格
# 使用获取到的代理IP进行网络请求
proxies = {'http': 'http://' + proxy_ip}
url = 'https://www.baidu.com/'
response = requests.get(url, proxies=proxies, headers=headers)
# 输出结果
print(response.status_code)
print(response.text)
```
需要注意的是,不同的代理服务商提供的API地址和参数格式也可能会不同。使用时要根据实际情况进行相应的修改。
属性 | 内容 |
---|---|
URL | https://www.zdaye.com |
方法 | GET POST |
编码 | utf-8 |
参数说明 | api :实例ID;akey :实例的akey,由该实例的密码通过16位MD5加密得出;count (可选):提取数量, 不能超过该实例的"单提限量",默认值等于"单提限量";adr (可选):ip的地理位置筛选关键词,多关键词以半角逗号隔开,字符串使用UrlEncode编码;timespan :IP剩余存活时间,赋值范围为0-5,比如3,表示3-6分钟,注意选择最低存活时间越长,连续提取结果中的IP重复率可能越高;type :返回类型,1表示"Text文本",2表示"XML",3表示"JSON"。 |
响应 | 返回内容的标签或字段类型可在产品管理里通过设置提取格式来定制; 类型为 Text文本 的定制标签如下:{ip} :ip地址;{port} :端口;{adr} :地理位置;{timeout} :预计剩余存活时间(秒);{cometime} :上线时间(秒)。类型为 XML 或JSON 格式的响应字段如下:code :错误编号;msg :描述信息;data :数据体;count :代理IP数量;proxy_list :代理IP列表;ip :ip地址;port :端口;adr :地理位置;timeout :预计剩余存活时间(秒);cometime :上线时间(秒)。 |
错误编号 | 10001 :获取成功;12001 :akey错误;12002 :调用频率过快,请至少10秒调用一次;12003 :参数不完整或有错误;12004 :该实例不存在或已过期;12005 :该实例已过期;12006 :该实例已被冻结或禁用;12007 :该实例当前授权模式为"终端IP授权",但尚未绑定终端IP;12008 :该实例使用额度已经超限;12009 :该参数条件下当前没有任何代理IP。 |