MediaWiki
*mediawiki* is a python wrapper and parser for the MediaWiki API. The goal is to allow users to quickly and efficiently pull data from the MediaWiki site of their choice instead of worrying about dealing directly with the API. As such, it does not force the use of a particular MediaWiki site. It defaults to Wikipedia but other MediaWiki sites can also be used.
MediaWiki wraps the MediaWiki API so you can focus on leveraging your favorite MediaWiki site’s data, not getting it. Please check out the code on github!
Note: this library was designed for ease of use and simplicity. If you plan on doing serious scraping, automated requests, or editing, please look into Pywikibot which has a larger API, advanced rate limiting, and other features so we may be considerate of the MediaWiki infrastructure. Pywikibot has also other extra features such as support for Wikibase (that runs Wikidata).
Installation
Pip Installation:
$ pip install pymediawiki
To install from source:
To install mediawiki
, simply clone the repository on GitHub, then run from the folder:
$ python setup.py install
mediawiki
supports python versions 3.5 - 3.9
For python 2.7 support, install release 0.6.7
$ pip install pymediawiki==0.6.7
Documentation
Documentation of the latest release is hosted on readthedocs.io
To build the documentation yourself run:
$ pip install sphinx
$ cd docs/
$ make html
Automated Tests
To run automated tests, one must simply run the following command from the downloaded folder:
$ python setup.py test
Quickstart
Import mediawiki and run a standard search against Wikipedia:
>>> from mediawiki import MediaWiki
>>> wikipedia = MediaWiki()
>>> wikipedia.search('washington')
Run more advanced searches:
>>> wikipedia.opensearch('washington')
>>> wikipedia.allpages('a')
>>> wikipedia.geosearch(title='washington, d.c.')
>>> wikipedia.geosearch(latitude='0.0', longitude='0.0')
>>> wikipedia.prefixsearch('arm')
>>> wikipedia.random(pages=10)
Pull a MediaWiki page and some of the page properties:
>>> p = wikipedia.page('Chess')
>>> p.title
>>> p.summary
>>> p.categories
>>> p.images
>>> p.links
>>> p.langlinks
See the documentation for more examples!
Changelog
Please see the changelog for a list of all changes.
License
MIT licensed. See the LICENSE file for full details.
- MediaWiki Documentation
- Functions and Classes
- MediaWiki
MediaWiki
MediaWiki.login()
MediaWiki.suggest()
MediaWiki.search()
MediaWiki.allpages()
MediaWiki.summary()
MediaWiki.geosearch()
MediaWiki.prefixsearch()
MediaWiki.opensearch()
MediaWiki.categorymembers()
MediaWiki.categorytree()
MediaWiki.clear_memoized()
MediaWiki.page()
MediaWiki.random()
MediaWiki.set_api_url()
MediaWiki.wiki_request()
MediaWiki.api_url
MediaWiki.api_version
MediaWiki.extensions
MediaWiki.language
MediaWiki.memoized
MediaWiki.rate_limit
MediaWiki.rate_limit_min_wait
MediaWiki.refresh_interval
MediaWiki.supported_languages
MediaWiki.timeout
MediaWiki.user_agent
MediaWiki.version
- MediaWikiPage
MediaWikiPage
MediaWikiPage.parse_section_links()
MediaWikiPage.section()
MediaWikiPage.summarize()
MediaWikiPage.backlinks
MediaWikiPage.categories
MediaWikiPage.content
MediaWikiPage.coordinates
MediaWikiPage.hatnotes
MediaWikiPage.html
MediaWikiPage.images
MediaWikiPage.langlinks
MediaWikiPage.links
MediaWikiPage.logos
MediaWikiPage.parent_id
MediaWikiPage.preview
MediaWikiPage.redirects
MediaWikiPage.references
MediaWikiPage.revision_id
MediaWikiPage.sections
MediaWikiPage.summary
MediaWikiPage.table_of_contents
MediaWikiPage.wikitext
- MediaWiki
- Exceptions
- Indices and tables
- Functions and Classes
- MediaWiki Quickstart
- Indices and tables