Skip to content

Instantly share code, notes, and snippets.

@gaulinmp
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gaulinmp/9477987 to your computer and use it in GitHub Desktop.
Save gaulinmp/9477987 to your computer and use it in GitHub Desktop.
Download Reg SHO files from NASDAQ
from ftplib import FTP
def login(oldftp):
try:
ftp.close()
except: pass
return FTP(host='ftp.nasdaqtrader.com',user='anonymous',passwd='jones_school@rice.edu')
def download_regsho_data(save_dir=None):
if not save_dir:
import tempfile
save_dir = tempfile.mkdtemp(prefix='regsho')
print "Saving to {}".format(save_dir)
ftp = login(False)
fdir = 'regshopilot'
files = [f for f in ftp.nlst(fdir) if 'zip' in f]
for f in files:
try:
with open(os.path.join(save_dir,f), 'wb') as fh:
ftp.retrbinary("RETR /{}/{}".format(fdir, f), fh.write)
print "Wrote {}".format(os.path.join(save_dir,f))
except:
print "Error downloading ", f
ftp = login(ftp)
ftp.close()
if __name__ == '__main__':
download_regsho_data()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment