1. 程式人生 > 其它 >python3中requests庫重定向獲取URL

python3中requests庫重定向獲取URL

import requests

def request_jd():
url = 'http://jd.com/'
#allow_redirects= False 這裡設定不允許跳轉
response = requests.get(url=url, allow_redirects=False)

print(response.headers)
print(response.status_code)

看結果 返回response header 中有一個屬性 Location ,代表重定向了 'Location': 'https://www.jd.com'

獲取跳轉url方法一:使用response.headers.get('location')方法

import requests

def request_jd():
    url = 'http://jd.com/'
    response = requests.get(url=url, allow_redirects=False)#禁用自動跳轉
    #return response.headers.get('location')
    return response.headers.get('Location')

方法二

其實預設情況下, requests 會自動跳轉,如果發生了重定向,會自動跳到location 指定的URL,我們只需要訪問URL, 獲取response, 然後 response.url 就可以獲取到真實的URL啦。

import requests

def request_jd():
    url = 'http://jd.com/'
    response = requests.get(url=url)
    
    return response.url#不禁用跳轉,自動跳轉後獲取response的url

兩種方法,第一種好理解一些,第二種更簡單直接。還是把requests庫學習好