As far as I understand from the link, it is essentially this page you are trying to reproduce:
http://avail.mdx.ac.uk/
Also as far as I understand, the numbers you are trying to extract are the total and used numbers of computers, which seem to be the trailing numbers in the avail variable from the js file, after you split it where there's a ";". If you do split there you get Strings like "HESLGFOA01:84:32" which essentially seem to come down to "ID:Total:Used". Thus if you take that String again and split into its elements wherever you see a ":" you get an array of three elements (elm in the code below), ID:"HESLGFOA01", Total:"84", Used:"32". After that you only need to convert elements 1 and [2] to ints to get the numbers!
As a side note: The availgroup variable contains information about each room referencing the same ID mentioned above, thus when we find a string that contains that variable we stop the loop!
String url = "http://avail.mdx.ac.uk:8090/avail.js?";
// don't remove the questionmark otherwise the page won't update every time you run it
String [] site = loadStrings(url);
String [] list = split(site[0], ';');
for (int i = 0; i < list.length; i++) {
if (list[i].contains("availgroup")) break; //stops the loop
String [] elm = list[i].split(":");
String ID = elm[0];
int total = int(elm[1]);
int used = int(elm[2]);
println("Total: " + total + " Used:" + used + " Free: " + (total - used));
}
Here's a simplified version of the code with more comments to explain each step. This one only takes the first element (the first computer room) for simplicity
void setup() {
// do this every 4 seconds as it is refreshed. We don't want to spam
// the website... This method changes how many times should draw() be
// executed per second. The default value is 24 frames per second. Here
// we set it to .25 which essentially means 1 draw() every 4 seconds...
frameRate(0.25);
}
void draw() {
// set the background to a boring gray colour...
background(204);
// set the website url. Don't forget the "http://"
String url = "http://avail.mdx.ac.uk:8090/avail.js?";
// get an array of big strings from the website, one element per line
// as it is in the page there is actually only one line...
String [] site = loadStrings(url);
// break the first line (site[0]) into an array of strings where
// there is a ";" and store the array into the 'list' variable
// Each element looks like this: "HESLGFOA01:84:32"
String [] list = split(site[0], ';');
// break the first element of list (list[0]) where there are ":" and
// store the result into the 'elm' variable
String [] elm = list[0].split(":");
// ID if the first element in the elm array (elm[0]): HESLGFOA01
String ID = elm[0];
// total is the second element in the elm array (elm[1]): 84
int total = int(elm[1]);
// used is the third element in the elm array (elm[2]) 32
int used = int(elm[2]);
// calculate the free desks by subtracting the used from the total
int free = total - used;
// print stuff / draw ellipses / do fun stuff
println("Total: " + total + " Used:" + used + " Free: " + free);
float x1 = map(mouseX, 0, width, 50, 150);
ellipse(x1, 75, 50, 50);
float x2 = map(free, 0, width, 0, 200);
ellipse(x2, 125, 50, 50);
}
To keep things together, this is the first piece of avail.js looks right now:
var avail="HESLBAOA01:61:20;HESLGFOA01:84:31;HESLGFLSS12A:16:6;HESLGFLSS12B:16:8;HESLGFLSS13A:16:0;HESLGFLSS13B:16:0;HESL01OA01L:52:22;HESL01LSS106:30:4;HESL01LSS111:10:3;HESL01LSS112:33:0;HESL01LSS118:59:26;HESL02OA01L:11:4;HESL02LSS206:11:4;HESL02LSS216:14:4;HESL02LSS217:35:5;HESL02LSS219:6:3;HESL03LSS304:17:1;HESL03LSS305:33:5;HEWIGFOA01:36:25;cal:9:0";