'Returns a MediaWikiArticle for the given query.
The query is case-sensitive, for example on Wikipedia:
- "tiger" = Panthera tigris,
- "TIGER" = Topologically Integrated Geographic Encoding and Referencing.'

def article(self, query, cached=True, **kwargs):

    url = URL(self._url, method=GET, query={'action': 'parse', 'page': query.replace('    ', '_'), 'redirects': 1, 'format': 'json'})
    kwargs.setdefault('unicode', True)
    kwargs.setdefault('timeout', 30)
    kwargs.setdefault('throttle', self.throttle)
    data = url.download(cached=cached, **kwargs)
    data = json.loads(data)
    data = data.get('parse', {})
    a = self._parse_article(data, query=query)
    a = self._parse_article_sections(a, data)
    a = self._parse_article_section_structure(a)
    if ((not a.html) or ('id="noarticletext"' in a.html)):
        return None
    return a
