I'm trying to download some public data files. I screenscrape to get the links to the files, which all look something like this:
ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/nhanes/2001-2002/L28POC_B.xpt
I can't find any documentation on the Requests library website.
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 shutil import urllib2 from contextlib import closing with closing(urllib2.urlopen('ftp://server/path/to/file')) as r: with open('file', 'wb') as f: shutil.copyfileobj(r, f)
Python3:
import shutil import urllib.request as request from contextlib import closing with 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 ftplib path = '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()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With