skip to navigation
skip to content

Chandere 1.0.0

An image/file downloader and thread archiver for Futaba-styled imageboards, such as 4chan.

![Chandere](https://raw.github.com/TsarFox/chandere/master/Chandere_Logo.png "Chandere")
========
## A utility programmed and maintained by [Jakob.](http://tsar-fox.com/)
An image/file downloader and thread archiver for Futaba-styled imageboards, such as 4chan.

Chandere is designed to work on both Python2 and Python3, and as of version 0.1.0 has no dependencies outside of the Python standard library.

Chandere is free software, licensed under the [GNU General Public License.](http://gnu.org/licenses/gpl.html)

[![Build Status](https://travis-ci.org/TsarFox/chandere.svg?branch=master)](https://travis-ci.org/TsarFox/chandere) [![PyPI Downloads](https://img.shields.io/pypi/dm/Chandere.svg)](https://pypi.python.org/pypi/Chandere/) [![License](https://img.shields.io/github/license/tsarfox/chandere.svg)](https://www.gnu.org/licenses/gpl.html)


Primary Features
================

* Capable of downloading files and archiving entire threads.
* Able to scrape from multiple boards and threads at once.
* Offers official support for 4chan, 8chan and Lainchan.
* Optional post filtering similar to that used by 4chan.


Installation
------------

Currently, the most reliable way to install Chandere is through Pip.

# It is recommended that you use the latest version of pip and setuptools when installing Chandere.
$ pip install --upgrade pip setuptools

$ pip install --upgrade chandere


Tutorial
--------

Chandere only really requires one argument to run. The following command will attempt to make a connection to http://boards.4chan.org/g/ and show the response headers.

$ chandere /g/
[MainThread] INFO: Response from http://a.4cdn.org/g/threads.json:
[MainThread] INFO: Date: Thu, 16 Jun 2016 19:01:02 GMT
[MainThread] INFO: Content-Type: application/json
...

Accessing multiple boards at once is just as simple, just add another one as an argument.

$ chandere /g/ /3/
...

A specific thread can also be specified by placing the thread number after the board.

$ chandere /g/51971506

Now with the basics of specifying where to scrape from, we can actually use the tool. The default mode of operation is "test connection", but we can do more than that. To download every file in a board/thread use the "-d" or "--download" argument.

$ chandere /g/51971506 -d
[Connection Thread] INFO: Starting...
...

This will download everything into the current working directory, though. Maybe we don't want that. We can specify the output path with the "-o" or "--output" parameter.

$ chandere /g/51971506 -d -o Stallman

Pretty neat, but maybe we're a lainon and don't care much for 4chan. The imageboard can be specified with -c. An alias can be used if it is listed by the "--list-chans" parameter.

$ chandere --list-chans
Available Imageboard Aliases: lainchan, 4chan
$ chandere /cyb/ -d -o Cyberpunk -c lainchan

If the imageboard isn't a valid alias, it can still be passed with the "-c" parameter as long as it is in the form of an URL.

$ chandere /c/ -c http://krautchan.net


Options
-------
**Documentation**
* -h, --help | Display a list of available command-line flags.
* -v, --version | Display the version of Chandere that is currently installed.
* --list-chans | List available imageboard aliases.

**Connection**
* targets | Positional argument of a board and thread to connect to. Can be given in various forms, but as a rule of thumb - the board initial should come first, followed by an optional thread number. An example is "/g/51971506".
* -c, --chan | Specify the imageboard to connect to. Can be an alias listed with --list-chans, but can also be the URL to an imageboard. Defaults to "4chan".
* --threads | Specify the number of threads to utilize when making connections. Please be aware that making several requests per second is typically against an imageboard's API rules and can potentially get your IP banned.
* --ssl | Use HTTPS if available. Chandere does not attempt to verify the signature of the server it is connecting to.

**Scraper**
* -d, --download | Crawl for and download all of the files in a board/thread.
* -a, --archive | Crawl for and archive all of the posts in a board/thread to a plaintext file.
* --filters | Add filters. Chandere utilizes pattern-matching very similar to that used by 4chan. Exact terms are enclosed in brackets, separate terms are separated by escaped spaces, regular expressions are enclosed in forward slashes, and wildcards can be used by throwing a "*" character into the filter pattern.
* --filter-file | Filters of the above format can be loaded from a file with this parameter. They should be separated by newlines.
* --continuous | If Chandere is run with this flag, it will attempt to continuously refresh and check for new posts until a SIGINT is received, rather than quitting as soon as the task is done.
* --debug | Indicates that every log message should be shown during runtime. This is helpful when opening a bug report.

**Write**
* -o, --output | Designates the output directory if Chandere is operating in File Downloading mode, or the file to output to if Chandere is operating in Archiving mode. Defaults to the current working directory.


TODO
----
[TODO](/TODO.md)  
File Type Py Version Uploaded on Size
Chandere-1.0.0-py3-none-any.whl (md5) Python Wheel 3.5 2016-09-06 17KB
Chandere-1.0.0.tar.gz (md5) Source 2016-09-06 28KB