python3中requests庫重定向獲取URL
阿新 • • 發佈:2022-12-12
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庫學習好