atwiki-python
is a client library to access @wiki from Python.
This package also includes atwiki-dump
command to dump source from @wiki wiki site.
pip install atwiki-python
- Python 2.7 / 3.7 / 3.8 / 3.9 / 3.10 / 3.11
Dump source and page name for each page in the wiki site.
atwiki-dump -o /tmp/dump_dir https://w.atwiki.jp/python-client/
Python API provides access to @wiki features.
from atwiki import *
api = AtWikiAPI(AtWikiURI('https://w.atwiki.jp/python-client/'))
# Show list of tags.
for tag in api.get_tags():
print(tag)
# Show list of pages.
for page in api.get_list():
print(page)
# Show list of pages tagged with 'tag01'.
for page in api.get_list('tag01'):
print(page)
# Show source of page ID 14.
print(api.get_source(14))
# Show results of wiki search.
for result in api.search('test'):
print(result)
- Always use an appropraite interval between requests, or your IP address may get banned.
Empirically, 10 seconds of sleep between API call is sufficient.
Each
AtWikiAPI
instance automatically injects a delay between requests. - Your application must expect that entries returned from APIs may be duplicate/missing when pages/tags are added/removed during API call. This is because listing requests are internally pagerized and it is costly to guarantee consistency.
- AtWiki's specification may change anytime.
If you are going to build an automated system, it is encouraged to run test suites included with the installation of this library (
python -m unittest discover atwiki
) everytime before running your application.
MIT License