我的代码如下:
url_orig ='http://www.has-sante.fr/portail/jcms/c_676945/fr/prialt-ct-5245'
u = urllib.request.urlopen(url_orig)
print (u.geturl())
基本上当URL被重定向两次时。输出应为:
http://www.has-sante.fr/portail/upload/docs/application/pdf/2008-07/ct-5245_prialt_.pdf
但我得到的输出是第一个重定向:
http://www.has-sante.fr/portail/plugins/ModuleXitiKLEE/types/FileDocument/doXiti.jsp?id=c_676945
如何获得所需的最终URL?任何帮助都将不胜感激!
这可能有点过分,但它是使用正则表达式的另一种选择。这个答案使用Selenium web自动机Python APIs跟踪重定向。它还将在浏览器窗口中打开pdf文件。下面的代码要求您使用的是Firefox,但您也可以使用其他浏览器,方法是将名称替换为您要使用的浏览器,即webdriver.Chrome()、webdriver.i e()。
安装硒:
pip install selenium
代码:
也可以在后台运行浏览器,这样就不会弹出窗口。此解决方案的附加好处是,如果它们改变了re-direction的工作方式,则无需更新代码中的正则表达式。
这是可行的,他们使用javascript或html标记重定向,因此寻找“Location”头是行不通的。这不是一个优雅的解决方案,但它是有效的。
相关问题 更多 >
编程相关推荐