Python 爬虫 · 第三方代理接入与合规使用

Python 学习第 36 天,非必要不要使用!!!!!!!

在爬虫过程中,我们常常需要大量访问一个网站,以便快速获取信息。但网站的服务器对于这类频繁的请求会有防御机制,也就是说,它会判定这样的行为不正常,将这个 IP 判定为 "爬虫" 后拉进黑名单,这样不光我们设置的爬虫程序失去作用,自己的账号也会被封掉。

如何避免被封号的风险呢?我们的应对方法是:接入第三方代理。


一、代理

代理通常分为:

**(1) HTTP / HTTPS 代理:**最常用,适配绝大多数网页爬虫,支持 http/https 请求

**(2) Socks5 代理:**底层转发,兼容性更强,可适配浏览器、Socket、部分加密请求

第三方代理按照 "IP 来源" 分,可以分为:

**(1) 数据中心代理(DC):**速度快、便宜、IP 多,但容易被识别为爬虫,适合爬取非敏感、公开、低频(新闻、博客、公开榜单)的场景

**(2) 住宅代理(Residential/ISP):**真实家庭宽带 IP,最像真人,被封概率低,但比较贵,适合需要爬取电商、社交、评论、登录态、高反爬的场景

**(3) 移动代理(4G/5G):**手机基站 IP,匿名性最高,但价格最贵,适合需要极限反爬、APP 爬虫、注册 / 养号的场景

按照 "IP 是否固定" 可分为:

**(1) 静态代理(固定 IP):**稳定、会话不掉、适合登录后长期爬,但极易被封,不能高频爬取,适合每天少量爬取,且需要保持登录状态

**(2) 动态代理(每次 / 每分钟换 IP):**抗封强、量大、适合大规模采集,但会话比较难保持,速度波动有点大,适用于需要高频、大批量、不登录(主流爬虫首选)爬取的场景

**(3) 隧道代理(只给你一个入口,后端自动换 IP):**最简单,不用管 IP 池,一行配置搞定,但有点贵、可控性弱,适合不想写代理池、快速开发、长期项目的场景

获取代理的渠道很多,但尽量选择官方大厂的代理,选择高匿名性的 IP,这样才能保证自己的账号安全。

二、接入代理流程

1. 安装包

复制代码
pip install requests

2. 导入包

复制代码
import requests

3. 找到代理

我们用免费代理展示:理想下选用 "高匿开发代理" 中的代理地址(但实际上很难在免费的代理中找到可用的,所以也可以选择其他的)。我们需要复制的信息有 IP 地址、PORT 接口,挑选标准可以看 "响应速度(秒)",注意:代理算是中间商,且免费的代理一般会比我们正常请求要慢,如果一个 IP 不行,就换另一个。

4. 接入及其他操作

(1) 设置目标网址

复制代码
url = "https://www.baidu.com/"

(2) 设置第三方代理信息,格式:变量名 = {"协议名":"协议名://IP:PORT", "协议名":"协议名://IP:PORT", ......}

复制代码
proxy = {
    "http":"http://IP地址:PORT接口",
    "https":"http://IP地址:PORT接口"
}

(3) 在请求中接入代理

复制代码
res = requests.get(url, proxies = proxy)
res.encoding = "utf-8"
print(res.text)

运行结果出现 TimeoutError,说明所用代理可能出现已失效、IP 被封禁、端口错误、网络不通、免费代理不稳定等问题,此时就需要在步骤 (2) 的代码中换一个代理


示例仅为格式演示,请勿使用来源不明的免费代理,避免安全风险。

注意合法爬虫

相关推荐
xieliyu.4 分钟前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
AI工具人PM产品经理13 分钟前
CSDN 自动发布全流程实战:从 CKEditor HTML 注入到创作页就地发布
python
_Jimmy_17 分钟前
Tool Calling 与 Function Calling 区别
人工智能·python·langchain
2zcode22 分钟前
项目文档:基于MATLAB最小二乘支持向量机的睡眠分期智能监测系统设计与实现
开发语言·支持向量机·matlab
twcc_come27 分钟前
安全策略配置实验报告
开发语言·php
逆风飞翔的小叔31 分钟前
【Python基础】Python 流程控制语句使用详解
python·python 流程控制语句·python 流程控制·python 流程控制语句使用·python 流程控制语句详解
2601_9638702241 分钟前
基于Python的晋江文学城热门作品数据分析与可视化
开发语言·python·数据分析
llwszx1 小时前
【Java/Go后端手撸原生Agent(第七篇):Token预算管理 + 滑动窗口上下文裁剪】
java·后端·python·agent开发·上下文工程·上下文裁剪·滑动窗口裁剪
我怎么又饿了呀1 小时前
DataWhale—量化金融(task8 最大回撤 和 仓位管理)
python·金融·量化
Black_Rock_br1 小时前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源