When downloading articles it doesn't send any referrer. Each request leaves the browser state unchanged (this is so that the download can happen in multiple threads while using the same browser instance).
One possibility is to monkey path the open_novisit method on the browser instance to send the required referrer. so something like this
Code:
def get_browser(self):
br = BasicNewsRecipe.get_browser(self)
orig_open_novisit = br.open_novisit
def my_open_no_visit(self, url, **kwargs):
data = # add the referrer to the header
return orig_open_novisit(url, data=data)
br.open_novisit = my_open_no_visit
return br