问题描述
我想下载一个 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 (将#修改为@)