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库学习好
标签:get,URL,url,跳转,jd,requests,response,python3 From: https://www.cnblogs.com/qboshi/p/16975872.html