我正在使用python处理网址 如果我点击网址,我就能获得excel文件 但如果我运行以下代码,它会给我奇怪的输出。
>>> import urllib2
>>> urllib2.urlopen('http://intranet.stats.gov.my/trade/download.php?id=4&var=2012/2012%20MALAYSIA%27S%20EXPORTS%20BY%20ECONOMIC%20GROUPING.xls').read()
输出:
"<script language=javascript>window.location='2012/2012 MALAYSIA\\'S EXPORTS BY ECONOMIC GROUPING.xls'</script>"
为什么它无法用urllib2阅读内容?
答案 0 :(得分:1)
使用http监听器(甚至谷歌Chrome开发者工具)看看,当你到达页面时,使用javascript进行重定向。
您需要访问初始网址,解析结果并再次获取实际网址。
答案 1 :(得分:1)
Selenium
的javascript重定向的答案
from selenium import webdriver
driver = webdriver.Firefox()
link = "http://yourlink.com"
driver.get(link)
#this waits for the new page to load
while(link == driver.current_url):
time.sleep(1)
redirected_url = driver.current_url