Skip to main content
https://img.shields.io/pypi/status/chandl.svg https://img.shields.io/pypi/v/chandl.svg https://img.shields.io/pypi/pyversions/chandl.svg https://travis-ci.org/gebn/chandl.svg?branch=master https://scan.coverity.com/projects/11734/badge.svg https://coveralls.io/repos/github/gebn/chandl/badge.svg?branch=master

A lightweight tool for parsing and downloading 4chan threads.

Features

  • A comprehensive API for programmatically analysing 4chan content.

  • Concurrent downloading, with parallelism linked to the number of available cores.

  • Override the file naming scheme and specify exclusions for thread downloads.

  • Filter files by extension or category (e.g. images, videos).

Installation

To install chandl, simply run:

$ pip install chandl

Examples

Download all files in <thread_url>, to a new directory named after the thread if possible, otherwise its raw id:

$ chandl <thread_url>

Download all images and .webm files in <thread_url> to /dev/shm, using 3 download threads per core:

$ chandl -f images,webm -o /dev/shm -p 3 <thread_url>

Download all files in <thread_url>, except abc.jpg and def.jpg to the present working directory, using a custom name format:

$ chandl -e abc.jpg,def.jpg -t . -n "{board} - {file.name}.{file.extension}" <thread_url>

Usage

$ chandl -h
usage: chandl [-h] [-V] [-v] [-f [FILTER]] [-e [EXCLUDE]] [-o [OUTPUT_DIR]]
              [-t [THREAD_DIR]] [-n [NAME]] [-p PARALLELISM]
              url

A lightweight tool for parsing and downloading 4chan threads.

positional arguments:
  url                   the URL of the thread to download

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -v, --verbosity       increase output verbosity
  -f [FILTER], --filter [FILTER]
                        file types or extensions to download, value either
                        comma-separated or option passed multiple times
  -e [EXCLUDE], --exclude [EXCLUDE]
                        file names to exclude, value either comma-separated or
                        option passed multiple times
  -o [OUTPUT_DIR], --output-dir [OUTPUT_DIR]
                        the directory to create the `thread-dir` within
  -t [THREAD_DIR], --thread-dir [THREAD_DIR]
                        relative to the `output-dir`, this will contain
                        downloaded files
  -n [NAME], --name [NAME]
                        the format to use for downloaded file names
  -p PARALLELISM, --parallelism PARALLELISM
                        the maximum number of download threads to use per core

Roadmap

  • Implement tracking of threads until they are deleted

  • Improve test coverage

  • Pylint or flake8 integration

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chandl-0.3.0.tar.gz (16.8 kB view details)

Uploaded Source

File details

Details for the file chandl-0.3.0.tar.gz.

File metadata

  • Download URL: chandl-0.3.0.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for chandl-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7fcfb2edb525e8e456bce9b5f86432e692ce9ec277e7d8d505f7653a27d257bd
MD5 5fa5974b7fff3575d748e10a41cc3644
BLAKE2b-256 6b902e4f095de1b90d448a1dd89dd4ef4b9abd766e460adbcd80e0344b671ba0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 file

0.2.0

1 file

0.1.1

1 file

0.1.0

1 file

0.0.3

1 file

0.0.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page