Kleingebäck - kleinanzeigen.de Backup
This tool can be used to backup ads on the german ad page https://kleinanzeigen.de
It downloads all (or only the specified ones) ads of one user into a
directory, each ad into its own subdirectory. The backup will contain
a textfile Adlisting.txt which contains the ad contents as the
title, body, price etc. All images will be downloaded as well.
Installation
The tool doesn't need authentication and doesn't have any dependencies. Just download the binary for your platform from the releases page and you're good to go.
Installation using a pre-compiled binary
Go to the latest release page and look for your OS and platform. There are two options to install the binary:
- Directly download the binary for your platoform,
e.g.
kleingebaeck-linux-amd64-0.0.5, rename it tokleingebaeck(or whatever you like more!) and put it into your bin dir (e.g.$HOME/binor as root to/usr/local/bin).
Be sure to verify the signature of the binary file. For this also download the matching kleingebaeck-linux-amd64-0.0.5.sha256 file and:
cat kleingebaeck-linux-amd64-0.0.5.sha25 && sha256sum kleingebaeck-linux-amd64-0.0.5
You should see the same SHA256 hash.
- You may also download a binary tarball for your platform,
e.g.
kleingebaeck-linux-amd64-0.0.5.tar.gz, unpack and install it. GNU Make is required for this:
tar xvfz kleingebaeck-linux-amd64-0.0.5.tar.gz
cd kleingebaeck-linux-amd64-0.0.5
sudo make install
Installation from source
You will need the Golang toolchain in order to build from source. GNU Make will also help but is not strictly neccessary.
If you want to compile the tool yourself, use git clone to clone the
repository. Then execute go mod tidy to install all
dependencies. Then just enter go build or - if you have GNU Make
installed - make.
To install after building either copy the binary or execute sudo make install.
Commandline options:
Usage: kleingebaeck [-dvVhmoc] [<ad-listing-url>,...]
Options:
--user -u <uid> Backup ads from user with uid <uid>.
--debug -d Enable debug output.
--verbose -v Enable verbose output.
--outdir -o <dir> Set output dir (default: current directory)
--limit -l <num> Limit the ads to download to <num>, default: load all.
--config -c <file> Use config file <file> (default: ~/.kleingebaeck).
--manual -m Show manual.
--help -h Show usage.
If one or more <ad-listing-url>'s are specified, only backup those,
otherwise backup all ads of the given user.
Configfile
You can create a config file to save typing. By default
~/.kleingebaeck is being used but you can specify one with
-c as well.
Format is simple:
user = 1010101
loglevel = verbose
outdir = "test"
Usage
To setup the tool, you need to lookup your userid on kleinanzeigen.de. Go to your ad overview page while NOT being logged in:
https://www.kleinanzeigen.de/s-bestandsliste.html?userId=XXXXXX
The XXXXX part is your userid.
Put it into the configfile as outlined above. Also specify an output
directory. Then just execute kleingebaeck.
Inside the output directory you'll find a new subdirectory for each
ad. Every directory contains a file Adlisting.txt, which will look
somewhat like this:
Title: A book I sell
Price: 99 € VB
Id: 1919191919
Category: Sachbücher
Condition: Sehr Gut
Created: 10.12.2023
This is the description text.
Pay with paypal.
You can change the formatting using the template config
variable. The supplied sample config contains the default template.
All images will be stored in the same directory.
Kleingebäck?
The name is derived from "kleinanzeigen backup": "klein" (german for small) and "back". In german "bäck" is spelled the same as the english "back" so "kleinbäck" was short enough, but it's not a valid german word. "Kleingebäck" however is: it means "Cookies" in english :)
Getting help
Although I'm happy to hear from kleingebaeck users in private email, that's the best way for me to forget to do something.
In order to report a bug, unexpected behavior, feature requests or to submit a patch, please open an issue on github: https://github.com/TLINDEN/kleingebaeck/issues.
Please repeat the failing command with debugging enabled -d and
include the output in the issue.
Copyright und License
Licensed under the GNU GENERAL PUBLIC LICENSE version 3.
Author
T.v.Dein
