Python爬虫遭遇反爬拦截的Cookie与UA配置方案

小石头
小石头
发布时间:2026-10-14| 5人浏览过
原创

本文介绍Python爬虫在爬取商品时因反爬机制导致失败的处理方法。通过浏览器开发者工具分析Network请求,提取有效的Cookie和User-Agent信息,并将其添加到headers中。文章提供了完整的代码示例,展示如何正确构建请求头以绕过基础反爬验证,确保数据抓取成功。

启用开发者工具分析网络请求

首先,访问目标网站并启用浏览器的开发者工具。

在浏览器界面中,通过右键点击“检查”或直接按下F12快捷键即可打开开发者模式。

接着,在开发者工具中切换到“Network”(网络)标签页,筛选“Doc”类型请求,随后刷新页面以捕获相关数据。

在Network面板中选中Doc分类,查看具体请求的Headers(标头),并在其中搜索“cookie”字段以获取必要的身份验证信息。

从请求头中提取有效的Cookie值以及User-Agent字符串,这两者是模拟浏览器访问的关键参数。

将获取到的Cookie和User-Agent配置到Python代码的headers字典中,以模拟正常浏览器请求。


def getHTMLText(url):
  kv = {
    'cookie': 'adsgadfafegadsgadsfaefasdfaewfadsfag'
    'uaer-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
  }
    try:
    r = requests.get(url, headers=kv, timeout=30)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    return r.text
  except:
    return "gg"

Python爬虫代码实现示例

以下是具体的代码实现示例:

程序逻辑与结构设计

程序整体架构设计如下:

  1. 1. 构建商品搜索请求,并循环遍历各个页面以获取数据。
  2. 2. 对每个返回的页面进行解析,提取商品名称及价格等关键信息。
  3. 3. 将提取到的结构化信息输出至指定位置。

常见错误排查与HTML响应分析

在实际操作中可能遇到的问题:

尽管代码执行成功,但返回的数据可能存在异常或错误。

通过打印HTML源码可以发现,服务器返回了特定的错误页面内容,具体表现如下:


<script type="text/javascript">
  TRLang = {
    ERROR_NICK_BLANK: "请填写账户名",
    ERROR_PASSWORD_BLANK: "请输入密码",
    ERROR_NICK_PASSWORD_BLANK: "请输入账户名和密码",
    ERROR_CHECKCODE_BLANK: "请输入验证码",
    TIPS_REMEMBER_PASSWORD: "记住密码",
    TIPS_NOT_REMEMBER_PSW_ON_PUBLIC: "不要在公共计算机记住密码,防止账户被盗"
  };
</script>

以上就是关于Python爬虫处理商品数据时遇到反爬拦截的解决方案,更多相关Python爬虫技巧请查阅本站往期文章或继续浏览后续内容,感谢支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。