2015-05-19 68 views
0

我正在使用beautifulsoup4從網站下載Excel文件。Python:將Excel文件保存爲文件夾

我只需要下載文件。我不需要重命名它們,只需將它們下載到相對於代碼所在的文件夾中即可。

該功能需要一個美麗的呼叫,搜索<a>然後打電話給鏈接。

def save_excel_files(sfile): 
    print("starting") 
    for link in sfile.find_all("a"): 
     candidate_link = link.get("href") 
     if (candidate_link is not None 
      and "Flat.File" in candidate_link): 
      xfile = requests.get(candidate_link) 
      if xfile: 
       ### I just don't know what to do... 

我試過用os.path; with open("xtest", "wb") as f:和許多其他變化。在這兩個晚上,完全卡住了。

第一個問題是,我甚至無法將文件下載並保存到任何地方。 xfile解析爲[response 200],所以這部分工作,我只是難以編碼的實際下載和保存。

+0

什麼是你'開放的('測試得到的錯誤。 xls','wb')爲f:f.write(resp.content)'? – etna

回答

2

像這樣的東西應該已經工作:

xfile = requests.get(candidate_link) 
file_name = candidate_link.split('/')[-1] 
if xfile: 
    with open(file_name, "wb") as f: 
     f.write(xfile.content) 

測試了以下鏈接我在谷歌隨機查找:

candidate_link = "http://berkeleycollege.edu/browser_check/samples/excel.xls" 
+0

謝謝。我作爲串聯文件夾路徑添加的唯一修改。似乎工作得很好。 – dizzystar