Skip to main content

Command-line tool to get photos from Twitter accounts.

Project description

https://img.shields.io/pypi/v/twitter-photos.png https://travis-ci.org/shichao-an/twitter-photos.png?branch=master

Twitter Photos is a command-line tool to get photos from Twitter accounts.

https://asciinema.org/a/93714.png

Requirements

  • python-twitter

  • requests

  • urllib3

Installation

You can install the package with pip:

$ pip install twitter-photos

Or, you can download a source distribution and install with these commands:

$ python setup.py install

How It Works

The command-line front-end of Twitter Photos, “twphotos”, downloads photos from specified Twitter accounts into individual directories each named after username. It hits the Twitter API as little as possible to retrieve photos links and download each link separately. You can view the links yourself and pipe them to other programs such as wget. You can specifiy photo size, number of photos to get, and whether to download only new photos since last downloads.

Setup

Create a config file at ~/.twphotos specifying your Twitter credentials (you can create an app and get your keys at Twitter Application Management):

[credentials]
consumer_key = your_consumer_key
consumer_secret = your_consumer_secret
access_token_key = your_access_token_key
access_token_secret = your_access_token_secret

Note that the values on the right side of = should not contain the quotes; they are just themselves since this file is in INI format.

Usage

The simplest usage is to run “twphotos” from command-line without any options. This will download all photos from the current authenticated user (you):

$ twphotos

Download all photos from an existing user other than yourself with -u option followed by username. “twphotos” will automatically create a directory with the specified username and put downloaded photos in there:

$ twphotos -u wired

Download n most recent photos from a user using -n followed by number:

$ twphotos -u wired -n 20

Download photos to a directory other than the current one:

$ twphotos -u wired -o /path/to/dir

Enable “incremental download” to download new photos since the last downloads with -i:

$ twphotos -u wired -i

Enable “parallel download” to speedup the downloads using the -r switch:

$ twphotos -u wired -r

Print username, tweet ids, and URLs instead of downloading them with -p switch:

$ twphotos -u wired -p

Exclude replies tweets using -e switch:

$ twphotos -u wired -e

Download small-sized photos

$ twphotos -u wired -s small

You can retrieve URLs only with cut command:

$ twphotos -u wired -p | cut -d ' ' -f3

Command-line Options

The “twphotos” command accepts the following options:

-u USER, --user USER

user account

-l LIST_SLUG, --list LIST_SLUG

list slug with –user as list owner

-o OUTDIR, --outdir OUTDIR

output directory

-p, --print

print media urls and tweet ids instead of download

-r, --parallel

enable parallel download

-n NUM, --num NUM

number of most recent photos to download

-i, --increment

download only new photos since last download

-e, --exclude_replies

exclude replies

-s SIZE, --size SIZE

photo size (orig, large, medium, small and thumb)

-t TYPE, --type TYPE

timeline type (user and favorites)

Project details


Download files

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

Source Distribution

twitter-photos-0.4.0.tar.gz (83.0 kB view details)

Uploaded Source

File details

Details for the file twitter-photos-0.4.0.tar.gz.

File metadata

File hashes

Hashes for twitter-photos-0.4.0.tar.gz
Algorithm Hash digest
SHA256 34986152ecdcfac543b69bcf6722ddb051ae08c5a2cd637089da519532fc8672
MD5 22ef81c009a9e3a5321fba52c378a8ec
BLAKE2b-256 b0d940da537d49971c07f5c2255844fde46cd4e40bc0da7e06e616a64d94b1ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page