我一直在浏览 Python 请求文档,但我看不到我想要实现的任何功能。
在我的脚本中我正在设置allow_redirects=True。
我想知道该页面是否已重定向至其他页面,新的 URL 是什么。
例如,如果起始 URL 为:www.google.com/redirect
最终的 URL 是www.google.co.uk/redirected
我如何获取该 URL?
在 Python 的库中,您可以通过访问对象的属性requests来获取重定向后的最终 URL 。此属性将为您提供所有重定向完成后的最终响应的 URL。url``Response
requests
url``Response
这是一个简单的例子来说明这一点:
import requests # Make a GET request with redirects allowed (this is the default behavior) response = requests.get('http://www.google.com/redirect') # Print the final URL after all redirections print("Final URL:", response.url)
response.url
allow_redirects=True
requests.get()
这是一个更完整的例子,包括处理潜在的异常:
import requests try: # Perform the request response = requests.get('http://www.google.com/redirect') # Check the final URL after all redirects print("Final URL:", response.url) except requests.RequestException as e: # Handle possible request exceptions print("An error occurred:", e)
response.history
Response
for resp in response.history: print("Redirected from:", resp.url)
allow_redirects=False
通过使用response.url,您可以轻松获取重定向后的最终 URL。当使用该库在 Python 中处理 Web 请求时,这种方法非常有效且直接requests。