Code Monkey home page Code Monkey logo

tumblrdownloader's Introduction

TumblrDownloader

Download all imagens from a Tumblr

Screenshots

Download all images from a Tumblr

Requirements

Usage

tumblrdownloader.py [-h] [--chunk CHUNK] [--total TOTAL]
                    [--start START] [--output OUTPUT]
                    [--resolution {1280,500,400,250,100,75}]
                    [--tagged TAGGED] [--chrono] [--threads THREADS]
                    subdomain

Download all images from a Tumblr

positional arguments:
  subdomain             Tumblr subdomain you want to download

optional arguments:
  -h, --help            show this help message and exit
  --chunk CHUNK         The number of posts to return each call to Tumblrs API. The default is 20, and the maximum is 50.
  --total TOTAL         Total images to download
  --start START         The post offset to start from. The default is 0.
  --output OUTPUT       Output folder
  --resolution {1280,500,400,250,100,75}
                        Select Max Width to download. The default is 1280.
  --tagged TAGGED       Download only images with tag
  --chrono              Sort in chronological order (oldest first)
  --threads THREADS     Number of parallel downloads. The default is 5.

Tumblr: http://{subdomain}.tumblr.com

###Example 1

 python tumblrdownloader.py subdomain

###Example 2

 python tumblrdownloader.py --chunk 10 subdomain

###Example 3

 python tumblrdownloader.py --output images2 subdomain

###Example 4

 python tumblrdownloader.py --chunk 1 --output images2 --resolution 100 --chrono --tagged sunday subdomain

Find a bug/issue or simply want to request a new feature?

Create a Github issue/feature request!

License

The MIT License (MIT)

Copyright (c) 2013-2017 Diego Siqueira

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

tumblrdownloader's People

Contributors

d6o avatar disiqueira avatar zailef avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tumblrdownloader's Issues

update url to download photos from the explicit / adult blogs

Unfortunately, now that Tumblr is enforcing (on some blogs) an explicit / nsfw category, the position of the tumblr subdomain has changed from http://{subdomain}.tumblr.com to https://www.tumblr.com/dashboard/blog/{subdomain}.

Your elegant script can no longer find or d/l the images returning the following message:

Downloading Subdomain:  {subdomain}
All images were downloaded.

I don't know python well enough to modify the script. Hopefully this isn't a heavy lift and you can tackle it. If not, let me know. I guess then I'll start reading some docs ๐Ÿ˜…

Update to fetch the new _raw resolution

As of a couple of weeks ago, tumblr now also serves the full untouched pictures as they were uploaded.
Example:

https://68.media.tumblr.com/ff834e2297be5c3d396cc36a26c72553/tumblr_o8aju9wTMZ1sl8albo3_raw.png
https://68.media.tumblr.com/e27ad63f314f1ffe3e5d07731c22ddbf/tumblr_obxybpdDJy1vxgw0io1_raw.png
https://68.media.tumblr.com/2748accb2245230b545b97967a947de2/tumblr_obr57xOlpY1vxgw0io1_raw.png

You'll notice from those two pictures that there's no limit in resolution anymore.

The _raw pictures are not offered by the API, they can only be fetched by changing each url's number from _1280 or whatever to _raw, and it does not work for files uploaded before 2013 - and this is not consistent, so the program should try to fetch the _raw file first and then fall back to the 1280 version if it fails.

Upload Filter

Hi there, is there an option to download only uploaded images?
thx for your work!

Not Compatible with Newer Python Versions

When I first tried to run this project it did not work (many errors) but I soon realized it was probably written for Python 2.7 and a lot of systems now default to Python 3.x including mine. When I forced it to run with Python 2.7 all was well and worked as expected. I don't know if the author wants to update this program to support Python 3.x or not but I hope this issue will at least help other users who face this same issue to realize they must use Python 2.7 to make it work.

Can't start new thread

Hi, I got error like this at the middle of downloading process...

Traceback (most recent call last):
  File "tumblrdownloader.py", line 177, in <module>
    main(sys.argv[1:])
  File "tumblrdownloader.py", line 169, in main
    td.download()
  File "tumblrdownloader.py", line 105, in download
    self._downloadimage(imagelist)
  File "tumblrdownloader.py", line 137, in _downloadimage
    t.start()
  File "/usr/lib/python2.7/threading.py", line 736, in start
    _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.