爬虫重定向问题解决

news/2024/11/23 8:53:21/

一,问题

爬虫时会遇到强制重定向的链接,此时可以手动获取重定向后的链接
如下图情况

第二个链接是目标要抓取的,但它是第一个链接重定向过去的,第一个链接接口状态也是302

二,解决方法

请求第一个链接,设置 allow_redirects = False
从响应头中提取 Location 参数,即为重定向后的链接

res = requests.get(url = url, headers = headers, data = data, allow_redirects = False)
if response.status_code == 302:new_url = response.headers['Location']new_response = requests.get(new_url, proxies=proxies)print(new_response.text)

在上面的代码中,我们首先发送一个不允许重定向的请求,如果返回的状态码是302,表示发生了重定向,我们可以通过response.headers[‘Location’]来获取重定向后的新URL ,然后发送新的请求来获取数据。

总结在Python爬虫开发中,处理重定向URL问题是非常的。我们可以通过查看代码、历史重定向和响应的头部信息来了解重定向的重要情况,通过设置allow_redirects参数来控制是否允许重定向,以及通过自定义处理重定向的逻辑来解决重定向问题。希望本文对你有所帮助,谢谢阅读!


http://www.ppmy.cn/news/1549252.html

相关文章

【c++入门】打开新世界大门之初遇c++

前言 在学习了c语言,初阶数据结构后,我们正式走进c世界大门 目录 前言 一、认识c 二、缺省参数 三、函数重载 四、引用 4.1什么是引用? 4.2 使用场景 4.2.1 做参数 4.2.2做函数返回值 4.3引用和指针的区别 五、内联函数 六、auto关…

索引(MySQL)

1. 没有索引,可能会有什么问题 索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行 正确的 create index ,查询速度就可能提高成百上千倍。但是天下没有…

从零开始认识显卡

显卡(GPU,全称为Graphics Processing Unit),是电脑中专门负责图形处理的硬件组件。以下是从零开始认识显卡的简单介绍: 1. 显卡的基本组成 显卡通常由以下几个主要部分组成: GPU核心:显卡的“…

社交媒体营销新趋势:如何通过海外平台提升品牌曝光度?

社交媒体不仅是简单的信息传播工具,更是连接用户与品牌之间的重要纽带。每天,有数以亿计的全球用户在不同平台上活跃,潜藏着巨大的市场潜力。对于企业来说,关键在于制定清晰的营销策略,精准把握不同社交平台的特性&…

Spring Cloud Data Flow快速入门Demo

1.什么是Spring Cloud Data Flow? Spring Cloud Data Flow 是一个用于构建和编排数据处理流水线的云原生框架。它提供了一种简化的方式来定义、部署和管理数据处理任务和流应用程序。以下是一些关键特性和组件: 关键特性 流处理: 支持实时数…

Postman之数据提取

系列文章目录 1.Postman之安装及汉化基本使用介绍 2.Postman之变量操作 3.Postman之数据提取 4.Postman之pm.test断言操作 5.Postman之newman Postman之数据提取 1. 提取请求头\request中的数据2. 提取响应消息\response中的数据3. 通过正在表达式提取4. 提取cookies数据 本文主…

【大数据知识】ClickHouse入门

ClickHouse入门 概述一、主要应用场景二、技术特点三、性能表现四、限制与不足五、使用建议 分布式架构一、架构特点二、核心组件三、数据组织方式四、分布式查询原理五、优势与局限性 核心架构一、ClickHouse执行过程架构二、ClickHouse数据存储架构 为什么速度这么快存储层&a…

时序论文23|ICML24谷歌开源零样本时序大模型TimesFM

论文标题:A DECODER - ONLY FOUNDATION MODEL FOR TIME - SERIES FORECASTING 论文链接:https://arxiv.org/abs/2310.10688 论文链接:https://github.com/google-research/timesfm 前言 谷歌这篇时间序列大模型很早之前就在关注&#xff…