There were multiple occasions that I needed to download a video clip hosted on Tumblr and got lazy digging through the page-source for the file location.

So, to solve this trouble once-and-for-all, I whipped up a simple bash script that takes a single URL argument and it’ll download the video clip into the current directory.

It’s really simple and dirty and I hope you might find it useful.

#!/usr/bin/env bash
# This scripts searches for a video_file link from the a Tumblr
# video premalink page and uses wget to download the video file.
# Requirements: curl, 7.21.2 or newer.

if [ -z "$1" ];
	echo "Usage: $0 <tumblr permalink URL>"
	exit 1

set -e
set -o pipefail

URL=`curl -s -S -L "$1" | grep -i "video_file" | tr ' ' '\n' | grep -i video_file | sed 's|\\\\x22||g' | sed 's|^src=||g' `
echo "$URL"

set -x
#wget --content-disposition -c "$URL"
curl -L -C - -J -O "$URL"

It requires a recent version of curl.

Update: By popular demand, here’s a web-based version.