GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - openzim/sotoki: StackExchange websites to ZIM scraper

BranchesTags
Open more actions menu

Latest commit

 

History

1,005 Commits
1,005 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
src/sotoki
src/sotoki
 
 
tests-integration
tests-integration
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
codecov.yml
codecov.yml
 
 
offliner-definition.json
offliner-definition.json
 
 
openzim.toml
openzim.toml
 
 
pyproject.toml
pyproject.toml
 
 
tasks.py
tasks.py
 
 

Repository files navigation

Sotoki

Sotoki (Stack Overflow to Kiwix) is an openZIM scraper to create offline versions of Stack Exchange websites such as Stack Overflow.

It is based on Stack Exchange's Data Dumps hosted by The Internet Archive.

CodeFactor Docker License: GPL v3 PyPI version shields.io PyPI - Python Version

Usage

Sotoki works off a dump of a StackExchange website, as regularly created by StackExchange team. You must provide a --mirror to use to download this dump and the --domain you want to scrape.

For instance, to download Sports StackExchange website as of August 2024 and based on dump hosted on archive.org, you have to use --mirror https://archive.org/download/stackexchange_20240829 --domain sports.stackexchange.com. Value of mirror is hence continuously updated as new dumps are published by StackExchange team.

Other CLI parameters are mandatory:

  • --title: ZIM title, must be less than 30 chars. E.g. Gardening and Landscaping
  • --description: ZIM description, must be less than 80 chars

Docker

docker run -v my_dir:/output ghcr.io/openzim/sotoki sotoki --help

Installation

sotoki is a Python3 software. If you are not using the Docker image, you are advised to use it in a virtual environment to avoid installing software dependencies on your system.

python3 -m venv ./env  # creates a virtual python environment in ./env folder
./env/bin/pip install -U pip  # upgrade pip (package manager). recommended
./env/bin/pip install -U sotoki  # install/upgrade sotoki inside virtualenv

# direct access to in-virtualenv sotoki binary, without shell-attachment
./env/bin/sotoki --help
# alias or link it for convenience
sudo ln -s $(pwd)/env/bin/sotoki /usr/local/bin/

# alternatively, attach virtualenv to shell
source env/bin/activate
sotoki --help
deactivate  # unloads virtualenv from shell

Developers

Anybody is welcome to improve the Sotoki.

See CONTRIBUTING.md for setup instructions, code style guidelines, and changelog requirements.

Users

You don't have to make your own ZIM files of Stack Exchange's Web sites. Updated ZIM files are built on a regular basis for all of them. Look at https://library.kiwix.org/?category=stack_exchange to download them.

About

StackExchange websites to ZIM scraper

library.kiwix.org/?category=stack_exchange

Topics

scraperstackexchangestackoverflowzim

Resources

Readme
GPL-3.0 license

Contributing

Contributing
Activity
Custom properties

Stars

244 stars

Watchers

10 watching

Forks

36 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.