2012-05-01 2 views
1

Я работаю над URL-адресом, использующим python.
Если я нажму URL, я могу получить файл excel.
, но если я запустил следующий код, это даст мне странный результат.ошибка при анализе url с использованием python

>>> 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?

ответ

1

Посмотрите, используя http-прослушиватель (или даже инструменты разработчика Google Chrome), есть переадресация с помощью javascript, когда вы попадаете на страницу.

Вам нужно будет получить доступ к исходному URL-адресу, проанализировать результат и снова получить фактический URL-адрес.

1

@Kai в this question, кажется, нашел ответ на JavaScript редиректов с помощью модуля Selenium

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 
Смежные вопросы