Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Gallery downloader - supports many galleries and reddit user histories

Project Description

Tested Versions and Galleries

Platforms, Python Versions:

  • OSX (Python 2.7.2 and 3.5.1)
  • Windows (Python 2.7.3)

Gallery Plugins:

  • imgur (albums and galleries)
  • imgbox
  • imagevenue
  • imagefap
  • 4chan
  • gfycat
  • xHamster
  • fuskator
  • vidble

Generic Plugin works for:

  • setsdb.org
  • alafoto.com
  • forum.phun.org
  • more

Installation

You can either download locally or install it:

pip install gallery_get

Usage (Command Line)

Syntax for gallery_get:

python gallery_get.py
python gallery_get.py [URL-OF-GALLERY]
python gallery_get.py [URL-OF-GALLERY] [DEST]

Syntax for reddit_get:

python reddit_get.py
python reddit_get.py [REDDIT-USERNAME]
python reddit_get.py [REDDIT-USERNAME] [DEST]

If you call with no parameters, you’ll be prompted for the gallery URL (for gallery_get) or reddit user (for reddit_get). You will also be prompted for a destination directory, which it will remember as the default for next time.

If you skip [DEST] it will look for the contents of last_gallery_dest.txt, falling back on the current working directory.

Usage (Python Environment)

Syntax for gallery_get:

import gallery_get
gallery_get.run()
gallery_get.run(URL)
gallery_get.run(URL, DESTINATION)

Syntax for reddit_get:

import reddit_get
reddit_get.run()
reddit_get.run(USER)
reddit_get.run(USER, DESTINATION)

Skipping parameters results in same corresponding behavior indicated above.

Notes

If you run gallery_get or reddit_get on the same URL/user and destination more than once, it will skip the already-existing images next time (unless the size has changed). This allows you to do incremental updates.

gallery_get comes with a few “plugins” customized for certain sites, along with a generic fallback plugin that works on multiple galleries. Note that galleries will change their markup from time to time, so these plugins may need to be updated to catch up with such changes. (Which brings us to the next section…)

Testing

I’ve provided a testing suite called gallery_get_test.py that will run gallery_get/reddit_get with provided URLs and users. Options are as follows:

--noprompt          don't prompt for extra galleries
--input=INPUT_PATH  input CSV for testing (same format as output)

INPUT_PATH defaults to gallery_get_test_input.csv (provided) The output is gallery_get_test_output.csv

To add a new gallery/user to the test:

  1. run gallery_get_test.py
  2. enter your gallery/user
  3. repeat step 2 for additional galleries/users
  4. if the output looks ok, replace gallery_get_test_input.csv with gallery_get_test_output.csv

Contribute

Feel free to add your own plugins or make updates if you’re familiar with regular expressions and/or Python logic!

Each plugin overrides the following with a string, regular expression, or function.

  • title
  • redirect links
  • image links
  • whether to use the same filename from the site, or use “001”, “002”, etc.

See comments in the existing plugin files for more details.

License

Licensed under the MIT License.

Release History

Release History

This version
History Node

1.7.10

History Node

1.7.9

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
gallery_get-1.7.10.tar.gz (16.3 kB) Copy SHA256 Checksum SHA256 Source Jun 25, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting