2011-07-28 26 views
0

我正嘗試使用下面的命令下載數據。urllib.urlretrieve失敗

import urllib 
url = 'http://www.nse-india.com/content/historical/EQUITIES/2002/MAR/cm01MAR2002bhav.csv.zip' 
urllib.urlretrieve(url, 'myzip') 

What I see in the file generated file my.zip is, 

You don't have permission to access "http&#58;&#47;&#47;www&#46;nse&#45;india&#46;com&#47;content&#47;historical&#47;EQUITIES&#47;2002&#47;MAR&#47;cm01MAR2002bhav&#46;csv&#46;zip" on this server.<P> 
Reference&#32;&#35;18&#46;7d427b5c&#46;1311889977&#46;25329891 

但我可以從網站上下載的文件沒有問題 ,這是什麼原因。

回答

0

您可能需要使用urllib2並將user-agent標頭設置爲可識別的內容。它可能只是阻止任何看起來不是普通用戶的東西。

+0

與用戶代理一樣在Mozilla中試過,仍然有同樣的問題,我嘗試使用[link](http://code.activestate.com/recipes/572202-web-browser-emulator/),現在文件被下載,但額外的字節,它有點損壞。 – kanna

+0

嘗試使用該配方中的其他標題,但不要使用代碼。 – agf