Python: download a file from an FTP server
requests
library doesn't support ftp links.
To download a file from FTP server you could:
import urllib urllib.urlretrieve('ftp://server/path/to/file', 'file')# if you need to pass credentials:# urllib.urlretrieve('ftp://username:password@server/path/to/file', 'file')
Or:
import shutilimport urllib2from contextlib import closingwith closing(urllib2.urlopen('ftp://server/path/to/file')) as r: with open('file', 'wb') as f: shutil.copyfileobj(r, f)
Python3:
import shutilimport urllib.request as requestfrom contextlib import closingwith closing(request.urlopen('ftp://server/path/to/file')) as r: with open('file', 'wb') as f: shutil.copyfileobj(r, f)
You Can Try this
import ftplibpath = 'pub/Health_Statistics/NCHS/nhanes/2001-2002/'filename = 'L28POC_B.xpt'ftp = ftplib.FTP("Server IP") ftp.login("UserName", "Password") ftp.cwd(path)ftp.retrbinary("RETR " + filename, open(filename, 'wb').write)ftp.quit()
Try using the wget library for python. You can find the documentation for it here.
import wgetlink = 'ftp://example.com/foo.txt'wget.download(link)