0

0

Python爬虫反爬怎么处理_headers与代理技巧【教学】

冷漠man

冷漠man

发布时间:2025-12-22 23:45:09

|

188人浏览过

|

来源于php中文网

原创

处理反爬需模拟真实浏览器行为,包括完整headers(如referer、sec-fetch-*)、高质量代理轮换、session管理cookie、禁用重定向、合理超时与随机延迟。

python爬虫反爬怎么处理_headers与代理技巧【教学】

处理反爬,核心是让请求更像真实浏览器行为。光靠改 User-Agent 很难绕过现代网站的检测,必须配合合理的 headers 设置代理轮换策略,才能稳定获取数据。

Headers 设置不能只填 User-Agent

很多新手以为加个随机 UA 就万事大吉,其实服务器会校验一整套请求头逻辑。比如:

  • Referer 要匹配目标页面来源(如从首页点进详情页,Referer 就该是首页 URL)
  • Accept-LanguageAccept-EncodingConnection 这些字段缺失或格式异常,容易被识别为脚本请求
  • 部分站点(如知乎淘宝)还会验证 Sec-Fetch-* 系列头部(如 Sec-Fetch-Mode: navigate),虽非强制,但补全后更接近 Chrome 正常访问

建议用浏览器开发者工具(Network → 某个请求 → Headers)直接复制真实请求头,再用字典传给 requests.get(url, headers=headers)。避免手写不一致的值。

代理不是“有就行”,关键在质量与调度

免费代理池大多失效快、响应慢、IP 被封率高。实际使用中要注意:

立即学习Python免费学习笔记(深入)”;

Roboflow
Roboflow

一个为计算机视觉和机器学习提供工具和服务的平台

下载
  • 优先选 HTTP/HTTPS 类型代理,SOCKS5 在 requests 中需额外装 requests[socks],且多数公开 SOCKS 代理不稳定
  • 每次请求前做 代理可用性检测:用 requests.get("http://httpbin.org/ip", proxies=proxies, timeout=3) 验证是否返回正确 IP 且不超时
  • 不要固定用一个代理反复刷——设置 请求间隔 + 代理轮换,例如每 3–5 次请求换一次 IP,配合 time.sleep(1–3)

Cookies 和 Session 处理常被忽略

有些网站(如登录态页面、AJAX 接口)依赖 Cookie 或完整会话上下文。单纯发 GET 请求拿不到数据:

  • requests.Session() 保持会话,自动管理 Cookie
  • 首次访问首页时,先 session.get(home_url),再用同一 session 请求后续接口
  • 若需登录,模拟表单提交后检查响应内容是否含 “登录成功” 或跳转,确认 Cookie 生效再继续

强行在 headers 里硬编码 Cookie 字符串,容易因过期或签名失效导致 403。

简单但有效的“拟人化”补充技巧

除了 headers 和代理,几个小动作能显著降低被拦截概率:

  • 禁用自动重定向:allow_redirects=False,防止跳转链暴露行为模式
  • 设置合理 timeout(通常 5–10 秒),超时就换代理重试,避免卡死
  • 对响应状态码做分级处理:200 正常解析;403/429 表示被限流,暂停几秒再试;503 直接换代理
  • 必要时加随机延迟(random.uniform(1.2, 3.8)),避免请求时间过于规律

不复杂但容易忽略。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

166

2023.06.14

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

170

2023.08.31

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

124

2023.11.15

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

256

2024.09.24

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1054

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

837

2023.11.06

cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

6500

2023.06.30

document.cookie获取不到怎么解决
document.cookie获取不到怎么解决

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

368

2023.11.23

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

4

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号