2013-08-06 169 views
2

我想用Python 2.7打開網頁瀏覽器並下載並保存鏈接的kml文件。需要使用python從網頁瀏覽器下載文件

的網址是: rmgsc.cr.usgs.gov/outgoing/GeoMAC/ActiveFirePerimeters.kml

當我運行下面的代碼,一個新的KML文件似乎救了我的硬盤上,但是它確實不要帶過整個文件。它不是154MB,而是帶來只有17個字節的文件。

我可以訪問網站(rmgsc.cr.usgs.gov/outgoing/GeoMAC/),然後點擊名爲「ActiveFirePerimeters.kml」的鏈接,或者進入網站,其中包含kml文件名自動啓動下載。在IE9中,我需要點擊「保存」按鈕,但是在Chrome中它似乎會自動下載。然而,在這兩個只有17bytes遇到....

這裏是我的Internet Explorer代碼:

import os, webbrowser 
target_dir = r"C:\DataTest" 
filename = "ActiveFirePerimeters.kml" 

fullname = os.path.join(target_dir,filename) 
with open(fullname,"w") as f: 
    f.write("<html>....</html>") 

url = "rmgsc.cr.usgs.gov/outgoing/GeoMAC/ActiveFirePerimeters.kml" 
webbrowser.open(url,True,True) 

os.system("taskkill /F /IM iexplore.exe") 
+1

爲什麼在Web瀏覽器中打開文件?你不能直接下載文件嗎? – Nadh

+2

請參閱http://stackoverflow.com/questions/9899031/python-download-a-file?rq=1 – 2013-08-06 16:34:24

+0

如果我打這個URL FF報告文件大小1,7Mb。也許服務器故障... – PeterMmm

回答

1

你需要使用Internet Explorer由於某種原因,來完成這個任務?我建議看看urllib模塊:http://docs.python.org/library/urllib.html。尤其是,您可以使用以下方式輕鬆下載資源:

import urllib 

urllib.urlretrieve(source_url, local_file_path) 
+0

@ Imjohns3 - 不,我沒有特定的瀏覽器。我正在兩個實驗看看哪個會更容易。比代碼。我會試一試。爲了澄清,這是如何工作的?我只是嘗試用「http://rmgsc.cr.usgs.gov/outgoing/GeoMAC/ActiveFirePerimeters.kml」替換source_url,並用「C:\ DataTest \ ActiveFiresPerimeters.kml」替換local_file_path,但它不起作用。任何線索? – user2657668

+0

您可能需要將協議包含在您的網址中(例如''http://'') – lmjohns3

相關問題