Выгружалка всех картинок из своего Instagramm (или из чужого, но публичного)
Go to file
Alexander Graf 05104b7438 Have better error handling when working on files
try ... except FileNotFoundError is better than os.path.isfile.
2016-08-03 13:51:25 +02:00
.travis.yml Rename instagram.py to instaloader.py 2016-07-25 23:59:47 +02:00
instaloader.py Have better error handling when working on files 2016-08-03 13:51:25 +02:00
LICENSE add LICENSE and README.md 2016-07-28 17:24:38 +02:00
README.md Implementation of get_id_by_username() 2016-08-02 21:27:39 +02:00

instaloader

Simple downloader to fetch all Instagram pictures and captions from a given profile.

Usage

Ensure having Python (at least version 3.3) and python3-requests installed.

If you intend to use this tool under Windows, it is highly recommended to first install win-unicode-console.

After having downloaded instaloader.py, you invoke it with

./instaloader.py profile [profile ...]

where profile is the name of a profile you want to download. Instead of only one profile, you may also specify a list of profiles.

To later update your local copy of that profile, you may run

./instaloader.py --fast-update profile [profile ...]

When --fast-update is given, instaloder terminates when arriving at the first already-downloaded picture.

Instaloader can also be used to download private profiles. To do so, invoke it with

./instaloader.py --login=your_username profile [profile ...]

When invoked like this, it also stores the session cookies in a file in /tmp, which will be reused later when --login is given. So you can download private profiles non-interactively when you already have a valid session cookies file.

If you want to download all followees of a given profile, call

./instaloader.py --login=your_username @profile

The --quiet option makes it also suitable as a cron job.

To get a list of other helpful flags, run ./instaloader.py --help.

Usage as library

You may also use parts of instaloader as library to do other interesting things.

For example, to get a list of all followers of a profile as well as their follower count, do

import instaloader

# login
session = instaloader.get_logged_in_session(USERNAME)

# get followees
followees = instaloader.get_followees(PROFILE, session)
for f in followees:
    print("%i\t%s\t%s" % (f['follower_count'], f['username'], f['full_name']))

Then, you may download all pictures of all followees with

for f in followees:
    try:
        instaloader.download(f['username'], session)
    except instaloader.NonfatalException:
        pass

Each Instagram profile has its own unique ID which stays unmodified even if a user changes his/her username. To get said ID, given the profile's name, you may call

instaloader.get_id_by_username(PROFILE_NAME)

get_followees() also returns unique IDs for all loaded followees. To get the current username of a profile, given this unique ID get_username_by_id() can be used. For example:

instaloader.get_username_by_id(session, followees[0]['id'])