In theory, there's nothing to stop you putting in the address of a remote node when you do:
rpc = SteemNodeRPC("ws://remotenode:8090", "", "")
For smaller tasks, like pulling a few posts, this would be fine. For something like this, which loops through every block, I think you would run into trouble.
There's a new project, called steem.ws that is running a load-balanced cluster of nodes - you could ask them what kind of usage they consider polite and limit your calls to the API accordingly.
thanks!