{"shas":[["7c944134c90bee429e5d4dec4bc6dc8fab56b789","cb7f30a95606ddf67c80d98df9c1bcfb8c10ebd4@gmail.com","Ok, figured out the issue I was having.  Turns out HtmlCleaner's XPather class doesn't actually implement the XPath functions contains or starts-with, among others.  I put together a quirky little XPath expression instead.  It uses the greater than and less than operators to see if the text is > 'Source #' but less than 'Source $' ($ is the char after #).  This is basically equivalent to a starts-with function (except for just play 'Source #' since I didn't use >=).\n\nSo now that I have the source TagNodes put into an ArrayList I'll get outta that packed try block and populate the RadioButton things with each source.  I'll put the remaining parsing (getting the Megaupload link, skipping the captcha, covering the wait time, etc) into the button listener on the play/download buttons.  Hooray progress!\n\nI'm glad I'm trying out XPath and such here first because it's way better than parsing it myself.  I'll have to give it a try in Google App Engine, and may have to use Java instead of learning Go just so that I can reuse some of this code and the HtmlCleaner library.  I don't even know if Go has any way to use XPath or clean badly written HTML.","John Roper"]],"ref":"refs/heads/master","size":1,"head":"7c944134c90bee429e5d4dec4bc6dc8fab56b789","push_id":39527688}