Wrote some code with Ghost.py, but can't seem to make it work. Checking-in here for reference, but I'm probably going to switch to mechanize.