可狱可囚的爬虫系列课程 13:Requests使用代理IP

一、什么是代理 IP

代理 IP(Proxy IP)是一个充当“中间人”的服务器IP地址,用于代替用户设备(如电脑、手机等)直接与目标网站或服务通信。用户通过代理IP访问互联网时,目标网站看到的是代理服务器的IP地址,而非用户的真实IP地址。

二、主要用途

  1. 隐藏真实IP:保护用户隐私,防止真实地理位置或网络身份被追踪。
  2. 绕过访问限制:访问某些地区或网络环境限制的内容(如流媒体、社交媒体)。
  3. 提高安全防护:在公共Wi-Fi等不安全网络中,代理可提供额外的隐私保护。
  4. 网络爬虫/自动化:通过切换不同代理IP,避免因频繁访问被封禁。
  5. 企业网络管理:企业可通过代理统一管理员工上网行为或缓存数据。

三、代理类型

  1. 数据中心代理:来自数据中心的IP,速度快但易被识别。
  2. 住宅代理:模拟真实家庭IP,更难被封锁。
  3. 透明代理:不隐藏用户IP,仅用于缓存或过滤内容。

四、注意事项

  1. 合法合规:某些国家/平台禁止使用代理访问特定内容,需遵守法律法规。
  2. 信任风险:低质量代理可能记录用户数据,建议选择可信服务商。
  3. 速度影响:代理服务器距离或负载可能降低网络速度。

五、爬虫如何使用代理 IP

以某某网为例,先用代码让其对我所处环境的网络 IP 进行封禁(此网站只封禁 24 小时)。
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 地址的封禁。

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HerrFu@灵思智行科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值