Try to avoid erros with saving

Mainly: do not create empty cache file, and accept empty cache file (doesn't sound logical but still)
Work with unicode strings

In downloads at least (I don't quite remember what readability returns actually, but "it just works")