Tumblr likes
December 4, 2018 8:53 AM   Subscribe

I want to download all my liked pictures on tumblr, at full resolution.

A google search turns up more than a couple options, but I'm wary to run some unknown code and I don't know which websites to trust on such a matter. Any help?
posted by Sterros to Computers & Internet (12 answers total) 13 users marked this as a favorite
Oh and videos, too
posted by Sterros at 9:10 AM on December 4, 2018

If you are comfortable with Github/Python/basic scripts, I've used (and contributed!) to this Python Tumblr backup project. It looks like there is an option to download likes.

There is one big caveat to this which is that the main branch is written in Python 2 (which has been deprecated) and although there is a version written for Python 3 it wasn't merged into the main script and may not been fully cleaned up/implemented. (I'm not good at Python yet!)
posted by possibilityleft at 9:52 AM on December 4, 2018 [1 favorite]

Oh, beside “I don’t want to run random code” I also don’t know how
posted by Sterros at 10:58 AM on December 4, 2018

The instructions for that Python project are very clear and only consist of a few steps.
posted by Mitheral at 11:43 AM on December 4, 2018

I suggest TumblThree, which is a self-contained, portable application for Windows. Unzip it to a folder on your computer (or USB stick), run it, and enter the URL in the bottom-left corner. Select "Add to queue", then "crawl", and let it go. You might want to check over the Settings button (bottom-right) before you start the "crawl", particularly if you want to change the download folder, as the program will re-start the download if it's partway through.

You can queue multiple tumblr blogs and set the program going, and it will honour the max number of simultaneous downloads you set in the Settings area.

Note that the program can only pull the images at the displayed resolution, Tumblr apparently disabled downloading "raw" (i.e. original sized) images several months ago.
posted by Nice Guy Mike at 11:56 AM on December 4, 2018

I ran that Python code given... it only downloaded a handful of posts
posted by Sterros at 12:00 PM on December 4, 2018

Maybe the servers cut me off because I'm downloading too much too fast? Is there a way to throttle?
posted by Sterros at 12:04 PM on December 4, 2018

I tried using the tumblr_backup.py script that possibilityleft linked above, but I get an error (HTTP Error 403) when trying to access my likes page via the Tumblr API. It's possible that Tumblr disabled this feature...? It used to be that you could make your likes public/private, but that setting seems to be gone now.
posted by devrim at 12:56 PM on December 4, 2018

Devrim, I just changed my likes between public/private; it's a little hard to find but it's still there.
posted by Sterros at 1:00 PM on December 4, 2018

Oh, just figured it out, thanks, Sterros! For anyone else: go to settings, then on the right sidebar, click on the blog name (under "Blogs"), then select "Share posts you like."

MeMail me if you'd like me to download your posts and/or likes and send that over to you!
posted by devrim at 1:21 PM on December 4, 2018

I tried out the python script shared above. It's really nifty!

That said, Tumblr has some awkward/stupid API limitations that really make it nigh-on unusable for folks with a lot of liked posts.

There's one of three ways to ask for likes: before X date, after Y date, or offset. None of them can be used together. There's a hard limit of 50 results returned at once.

Before and after are useless if you have more than 50 likes -- they can't be used together, so you can't say "give me posts after Y1 date but before X1 date, then give me posts after Y2 date but before X2 date", etc.

Offset does let you ask for 50 posts starting at 0, then 50 more posts starting at 51, and so forth. Except there's a hard limit of 1,000 for offset, so you will never be able to retrieve more than 1,050 posts this way. I'm trying to retrieve 57,000+.

Needless to say I am more than a little annoyed with Tumblr right now.
posted by tubedogg at 10:27 PM on December 5, 2018 [1 favorite]

If you're interested in downloading both the media associated with your likes, and each post that contains the media; AND you happen to have more than 1000 likes, someone's put together a modification to tumblr-utils and made an as-of-typing-this-answer unaccepted pull request to the maintainer.

The commits associated with https://github.com/bbolli/tumblr-utils/pull/114 will go through your likes, 20 at a time, reverse chronologically, and download them in their entirety. You can download the code on the 'commits' tab at that github link.

To only save pictures, invoke the script with:
./tumblr_backup.py -l [blog-name]
To save everything (not just pictures), invoke the script with:
./tumblr_backup.py --save-video --save-audio -l [blog-name]
(If you want video to be saved, you must have installed the youtube-dl library for python.)

A caveat: This does not appear to save any posts flagged as explicit / posts made by explicit blogs UNLESS you flag your blog as explicit, an action which looks like it will become permanent on 2018/12/17 if you do not un-set the explicit flag. I ran an initial pass, and only got 44,000 out of my ~46,000 likes because of this behavior. (44k posts took about 90 GB of disk space to store, because I included video and audio posts.)
posted by t3h933k at 5:40 PM on December 9, 2018

« Older Bar across bottom of screen on second monitor with...   |   Took one extra venlafaxine by mistake. Do I need... Newer »

You are not logged in, either login or create an account to post comments