All raw Arctic and Antarctic Buoy Data is located here:
http://iabp.apl.uw.edu/WebData/

The data files in this folder are labeled with their Buoy ID # and a ".dat" suffix.
The first step is to acquire a list of Buoy IDs for the data that you want to download.
This information can be found in a series of ascii tables located here:
https://iabp.apl.uw.edu/TABLES/


For our example, let's say you want to download the data from all currently updating Arctic buoys.
A list of these buoys is available here:
https://iabp.apl.uw.edu/TABLES/ArcticTable_Current.txt

Many programming languages allow you to access and read data from the web given a url. An example of how this is done is shown below using python2.7. Basically, opening and reading a file off the web is similar to reading a file on your own computer. The steps are:

1. Create a file id that points to the file at the url address: fid=urllib.urlopen(path)
2. Read the file into a variable: data=fid.read()
3. Close the file id: fid.close()
4. Do what you will with the data you have downloaded.

In the python example below, I first read "ArcticTable_Current.txt" to get a list of all the currently updating Arctic buoys. From this file, I get the Buoy ID from the first column. Then I use the Buoy ID to find and download the file from WebData.
#!/usr/bin/python2.7
import urllib

#——first open and read “ArcticTable_Current.txt” to get the table of updating buoys:
fid=urllib.urlopen(‘https://iabp.apl.uw.edu/TABLES/ArcticTable_Current.txt')
table=fid.read()
fid.close()
table=table.split(‘\n’)[0:-1]  #The "\n" is the "new line" character. 
                               #Splitting the table data on it breaks the table into a list of rows.

#—— next cycle through the rows in table and download the associated data:
for row in table:
	buoyID=row.split(';')[0] #The elements of "row" are separated by a ";"
	                         #This code splits row on the ";" and grabs the first 
	                         #resulting element in the created list of row elements
	                         
	fid=urllib.urlopen(‘https://iabp.apl.uw.edu/WebData/'+buoyID+'.dat')
	data=fid.read()
	fid.close()

	writeto=open(your+path+’/‘+buoyID+'.dat,’w’)
	writeto.write(data)
	writeto.close()