一、什么是代理 IP
代理 IP(Proxy IP)是一个充当“中间人”的服务器IP地址,用于代替用户设备(如电脑、手机等)直接与目标网站或服务通信。用户通过代理IP访问互联网时,目标网站看到的是代理服务器的IP地址,而非用户的真实IP地址。二、主要用途
- 隐藏真实IP:保护用户隐私,防止真实地理位置或网络身份被追踪。
- 绕过访问限制:访问某些地区或网络环境限制的内容(如流媒体、社交媒体)。
- 提高安全防护:在公共Wi-Fi等不安全网络中,代理可提供额外的隐私保护。
- 网络爬虫/自动化:通过切换不同代理IP,避免因频繁访问被封禁。
- 企业网络管理:企业可通过代理统一管理员工上网行为或缓存数据。
三、代理类型
- 数据中心代理:来自数据中心的IP,速度快但易被识别。
- 住宅代理:模拟真实家庭IP,更难被封锁。
- 透明代理:不隐藏用户IP,仅用于缓存或过滤内容。
四、注意事项
- 合法合规:某些国家/平台禁止使用代理访问特定内容,需遵守法律法规。
- 信任风险:低质量代理可能记录用户数据,建议选择可信服务商。
- 速度影响:代理服务器距离或负载可能降低网络速度。
五、爬虫如何使用代理 IP
以某某网为例,先用代码让其对我所处环境的网络 IP 进行封禁(此网站只封禁 24 小时)。python">import requests
Link = 'https://www.douban.com/doulist/3936288/'
Headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36'
}
while True:
response = requests.get(url=Link, headers=Headers)
if response.status_code == 200:
print(f'状态码:{response.status_code}')
print(response.text)
else:
print('已封禁')
break
我们先找寻一个能提供代理 IP 的网站,这里作者使用的是站某某,站某某不定期会提供一些免费的 IP,不一定每个代理 IP 都生效,多轮换几个尝试一下。
接下来我们按照 requests 模块提供的方式,进行代理 IP 的配置,此链接便是 requests 官文描述的如何使用代理 IP:https://requests.readthedocs.io/projects/cn/zh-cn/latest/user/advanced.html#proxies
配置代码如下,代理 IP 要以字典的形式配置进 requests 的 proxies 参数中,代理 IP 的字典中有两个键值对,值均为 ip 和 port 构造出来的 http 协议的链接,键分别为 http、https,最终成功突破 IP 地址的封禁。
python">import requests
Link = 'https://www.douban.com/doulist/3936288/'
Headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36'
}
# 请将 IP 和 Port 构造成以下形式
ip, port = '220.169.194.49', '12666'
Proxies = {
'http': f'http://{ip}:{port}',
'https': f'http://{ip}:{port}'
}
response = requests.get(url=Link, headers=Headers, proxies=Proxies)
print(response.status_code)
print(response.text)