Python URLLIB3 - geturl() 不返回重定向 url

问题描述

我想下载一个 HTML 页面。响应包括重定向重定向功能不起作用。
搜索了几个小时并尝试了很多。可惜没有成功。在我上次尝试之后:

import urllib3

url = 'http://www.statistik.gv.at/web_de/intern/Redirect/index.html?dDocName=021985'
http = urllib3.PoolManager()
# resp = http.request("GET",url)
# resp = http.request("GET",url,redirect=True)
resp = http.request("GET",retries=urllib3.Retry(3,redirect=2))

print(resp.status)
print(resp.data)

输出

200

b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n<html><head><Meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><title>RedirectPageTemplate</title></head><body><input id="redirect" type="hidden" value="/web_de/statistiken/menschen_und_gesellschaft/gesundheit/todesursachen/021985.html"/><input id="redirect" type="hidden" value="/web_de/statistiken/menschen_und_gesellschaft/gesundheit/todesursachen/021985.html"/><p>If the page was not loaded please click <a href="/web_de/statistiken/menschen_und_gesellschaft/gesundheit/todesursachen/021985.html">here</a>.</p><script>window.location.href=document.getElementById(\'redirect\').value</script></body></html>'

在 resp.data 中是重定向

<input id="redirect" type="hidden" 
value="/web_de/statistiken/menschen_und_gesellschaft/gesundheit/todesursachen/021985.html"/>
<input id="redirect" type="hidden" ...

当我使用

new_url = resp.geturl()
print(new_url)

new_url的结果和原来的url一样:
'http://www.statistik.gv.at/web_de/intern/Redirect/index.html?dDocName=021985'

等待的网址应该是:
'http://www.statistik.gv.at/web_de/statistiken/menschen_und_gesellschaft/gesundheit/todesursachen/021985.html'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)