python爬虫url跳转,获取跳转地址和母站
from urllib.parse import urlparse
import requests
# 以百度搜索线性代数 获取搜索列表的url
# url访问 地址会跳转
url = "http://www.baidu.com/link?url=ycsxOqAKBDDvm0p7tUifuSyXet6hA7-5WyhQC4Vbhx5xju6EA_ctR6jDmcWNfwanILTRAJ7fxAsEwv9xf7VbosmKTCc8mYKGQ_hbYlETfWUwVlb0dvODvdrdbVgOWPmb"
r = requests.get(url, allow_redirects=False)
# 获取跳转地址
print(r.headers['Location'])
# https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/2254377?fr=aladdin
# 解析跳转地址
url_result = urlparse(r.headers['Location'])
print(url_result)
# ParseResult(scheme='https', netloc='baike.baidu.com', path='/item/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/2254377', params='', query='fr=aladdin', fragment='')
mother_url = url_result.scheme + "://" + url_result.netloc
# 获取母站地址
print(mother_url)
# https://baike.baidu.com