Python爬虫获取重定向URL的两种实现方案

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

本文介绍在Python爬虫开发中,如何获取HTTP重定向后的最终URL。通过urllib库的urlopen方法和requests库的get方法,分别展示了两种获取重定向地址的代码实现。重点解析了如何从响应对象中提取最终跳转后的网址,并提供了包含User-Agent请求头设置的示例,帮助开发者解决爬虫追踪真实链接的问题。

Python爬虫获取重定向URL的方法概述

本文将介绍在Python爬虫开发过程中,获取HTTP重定向后最终URL的两种常用方法,具体内容如下。

方法一:使用urllib库获取重定向地址

第一种方法利用Python标准库urllib实现。


# 获得重定向url
 from urllib import request
 # https://zhidao.baidu.com/question/681501874175782812.html
 url = "https://www.baidu.com/link?url=IscBx0u8h9q4Uq3ihTs_PqnoNWe7slVWAd2dowQKrnqJedvthb3zrh9JqcMJu3ZqFrbW_DKVuTnTypDbMkZx_hwCQIGFPRVWGyxRXA-65jK&wd=&eqid=f7aeecba00092ed7000000065ec62596"
 print(request.urlopen(url).geturl())

方法二:使用requests库并设置请求头

第二种方法使用第三方库requests,并演示如何添加请求头以模拟浏览器访问。


# 请求头,这里我设置了浏览器代理
 headers = headers = {'User-Agent': 'xx'}
 # 这里chrome的user-agent获取方式:在浏览器地址栏输入 about://version 即可得到结果
 url = "https://www.baidu.com/link?url=IscBx0u8h9q4Uq3ihTs_PqnoNWe7slVWAd2dowQKrnqJedvthb3zrh9JqcMJu3ZqFrbW_DKVuTnTypDbMkZx_hwCQIGFPRVWGyxRXA-65jK&wd=&eqid=f7aeecba00092ed7000000065ec62596"
 # 请求网页
 response = requests.get(url, headers=headers)
 # print(response.status_code) # 打印响应的状态码
 print(response.url) # 打印重定向后的网址

# 两个结果都是:https://zhidao.baidu.com/question/681501874175782812.html

总结

以上就是关于Python爬虫获取重定向URL的两种实现方式,更多相关Python爬虫获取URL内容的技巧,欢迎查阅本站往期文章或继续阅读后续内容,感谢大家的支持。

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

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 算法库。