André Koch-Kramer
b2f31e7782
Add awesome logo to README
...
Due to rst limitations, the heading "Instaloader" was added beside the
logo inside the png.
2018-03-14 23:08:04 +01:00
André Koch-Kramer
4628f1cc8d
Reimplemented test_login() via graphql query
...
Fixes # 76.
2018-03-13 15:37:35 +01:00
André Koch-Kramer
de960b2b57
Mentione target :saved in README, docs and --help
2018-03-13 13:53:21 +01:00
André Koch-Kramer
b1edaddb31
Support for new target :saved
...
If logged in, Instaloader is now able to download posts which are marked
as saved. This feature was suggested in #78 .
2018-03-13 12:02:45 +01:00
André Koch-Kramer
01c2a2b1cb
Release of version 3.2.2
2018-02-15 16:13:36 +01:00
André Koch-Kramer
541b29b2e9
Remove signatures from profile pic URLs
...
Fixes #75 as suggested by @e5150.
2018-02-15 16:10:04 +01:00
André Koch-Kramer
6f3afd2fa1
Removed redundant character escapes in RegExp
2018-02-15 15:01:17 +01:00
André Koch-Kramer
882d460a67
Merge branch 'bug_69_fix'
2018-02-15 14:56:42 +01:00
André Koch-Kramer
9b11ca18d1
Added backward compatibility for --fast-update
...
This is related to bug #69 .
Filenames containing the old date encoding without UTC are now
recognized when using the `--fast-update` switch.
Also non-picture files using the old date encoding should now be
recognized even when not using the `--fast-update` switch, excluding
geotags and the post metadata JSON files. The files containing comments
get renamed to the new format when touched. Caption files are only
renamed, if they get updated. Stored picture files do not get renamed at
all.
2018-01-28 16:40:13 +01:00
André Koch-Kramer
3654d6bf6d
Use UTC in filenames per default
...
This adresses bug #69 .
All fields in the filename pattern that should be replaced by a date
encoding string (excluding {post.date_local}) are now evaluated using
UTC while ensuring that the replacing string indicates the use of UTC.
2018-01-10 22:26:49 +01:00
André Koch-Kramer
341030058b
Release of version 3.2.1
2017-12-11 21:21:07 +01:00
André Koch-Kramer
fd98e8e78f
Reduced GraphQL query chunks to 200
...
Fixes #59 .
2017-12-11 21:11:18 +01:00
André Koch-Kramer
9f34e3303e
Added basic usage to README and documentation
2017-11-10 18:55:52 +01:00
André Koch-Kramer
e9207f095f
Use Post class attributes in filename-pattern
...
- Added owner_id and mediaid to Post class properties.
- In case of not downloading stories, the attributes of the Post class
can now be used in filename-pattern, e.g. {post.owner_id} or {post.mediaid}.
Closes #53 .
2017-11-08 15:58:33 +01:00
André Koch-Kramer
ce13c0c53c
Corrected file extension on videos from stories
...
Closes #54 .
2017-11-08 13:45:29 +01:00
André Koch-Kramer
1928db63bb
Added ability to download videos within sidecars
...
Closes #41
2017-08-25 13:50:58 +02:00
André Koch-Kramer
1a26d7336c
Fix TypeError on retry in get_json()
2017-08-24 21:17:49 +02:00
André Koch-Kramer
bb71c40b56
Wait smarter to avoid HTTP error code 429
...
Additional sleeps are necessary because Instagram is rate limiting
GraphQL queries. The error does not occur if not more than 100 queries
are made in a sliding window of eleven minutes.
Ports a894c2d to version 3.
2017-08-24 18:30:46 +02:00
André Koch-Kramer
d28bd3ab52
Release of version 2.2.3
2017-08-13 14:39:35 +02:00
André Koch-Kramer
a894c2d206
Wait to avoid error code 429 (Too Many Requests)
...
Additional sleeps are necessary because Instagram is rate limiting
GraphQL queries. The error does not occur if not more than 100 queries
are made in a sliding window of eleven minutes.
Fixes #29
2017-08-12 19:57:54 +02:00
André Koch-Kramer
86fb80d7e4
Avoid GraphQL queries if all comments in metadata
...
If get_node_metadata() is able to provide all comments of a node, no
additional query is needed. Especially GraphQL queries are time
expensive because no more than 100 can be queried in ten minutes. Since
get_node_metadata() does not use GraphQL queries, this is a usefull
tradeoff.
+ Additional error handling
2017-08-12 19:04:22 +02:00
André Koch-Kramer
42864997b3
get_node_metadata() now also catches TypeError
...
Concerns #26
2017-08-08 00:43:52 +02:00
André Koch-Kramer
987d95c048
Forgot "file=" in some print statements
2017-08-05 00:22:43 +02:00
André Koch-Kramer
9b5d4e34fc
Raise and catch NodeUnavailableException
...
In case a node can not be downloaded or its metadata is needed and can
not be retrieved, a NodeUnavailableException is raised and the according
node will be skipped.
Concerns #26
2017-08-04 19:19:56 +02:00
André Koch-Kramer
6b520f6a2d
Release of version 2.2
2017-08-01 16:41:42 +02:00
André Koch-Kramer
c3a5557140
Additionally catch HTTPError and RequestException
...
Concerns issue #26 .
2017-08-01 16:30:59 +02:00
André Koch-Kramer
0ad50c1526
Fix error on downloading own private profile
...
Closes #27 .
2017-07-31 21:18:42 +02:00
André Koch-Kramer
9fbe9b0903
Retry get requests for downloading pictures
...
Tries to workaround #26 .
2017-07-31 20:34:27 +02:00
André Koch-Kramer
48d6f0226b
Added Disclaimer to README
2017-07-29 05:24:48 +02:00
André Koch-Kramer
82ae31cea5
Fix download_stories() to get all available posts
...
download_stories() did and does not check if a story is "unseen". The
response to the query of the '/feed/reels_tray/' URL provides all
available stories of the user's followees. Nevertheless, some of them do
not contain an 'items' field which has no causal relationship with their
status in terms of "seen" or "unseen". Therefore, to overcome this lack
of 'items' the 'feed/user/TARGET_USERID/reel_media/' URL needs to be
queried for each relevant followee whose 'items' were not provided in
the first place.
2017-07-29 04:12:26 +02:00
André Koch-Kramer
3e0b81ad56
copy_session() now also copies session.headers
...
Store a shallow copy of the headers rather than just create bindings
between the headers of the original and the newly created session object.
2017-07-29 01:54:42 +02:00
André Koch-Kramer
99620ec766
Allow subdirectories in filename pattern
...
Changed invocations of os.makedirs() in order to respect directories in
the filename pattern.
2017-07-29 01:40:53 +02:00
André Koch-Kramer
13d288ef36
Minor fixes of download_stories()
...
Concerning pull request #28 .
2017-07-28 19:49:48 +02:00
André Koch-Kramer
1699954761
Disable some trolling pylint features
2017-07-27 22:26:33 +02:00
André Koch-Kramer
7cac6d53f2
Minor code adaptions for consistency reasons
...
Concerning pull request #28 .
2017-07-27 22:18:43 +02:00
André Koch-Kramer
2205bbcf45
Release of version 2.1
2017-07-26 20:06:34 +02:00
André Koch-Kramer
c299e9d1a2
Updated README + {date} default format added
2017-07-26 19:13:56 +02:00
André Koch-Kramer
bf5e3b90d0
Updated descriptions consistent with docstring
2017-07-26 14:43:08 +02:00
André Koch-Kramer
d614d9f015
Release of version 2.0
2017-07-22 18:43:54 +02:00
André Koch-Kramer
051a6fa9d0
args.comments
2017-07-21 15:32:41 +02:00
André Koch-Kramer
169ce1a300
Download comments
...
Close #5
2017-07-20 22:36:30 +02:00
André Koch-Kramer
1fdce16f46
Fix get_followees() and implement get_followers()
2017-07-20 18:01:29 +02:00
André Koch-Kramer
8607135740
Satisfy pylint
2017-07-14 05:37:36 +02:00
André Koch-Kramer
ca2829becc
Fixed and reimplemented get_username_by_id()
2017-07-14 05:18:18 +02:00
André Koch-Kramer
715582138b
Replaced usages of shortcode with mediaid
2017-07-13 22:33:01 +02:00
André Koch-Kramer
184c521646
Added functions to convert mediaid <-> shortcode
2017-07-06 22:26:25 +02:00
André Koch-Kramer
5ae3d7090f
Minor bug fixes
...
- Adjust comment in test()
- Added exception handling when loading a sessionfile
- Corrected control flow in interactive_login()
2017-06-30 15:45:38 +02:00
André Koch-Kramer
52492456ed
Release of version 1.3
2017-04-22 18:01:54 +02:00
André Koch-Kramer
fdb8e94c64
Fixed ":feed-liked" functionality
2017-04-22 17:26:48 +02:00
André Koch-Kramer and Alexander Graf
2106c2d5f6
Satisfy pylint after their update
2017-04-22 11:13:10 +02:00
André Koch-Kramer
0e943189e5
Parse graphql structure for sidecars
2017-04-22 10:50:12 +02:00
André Koch-Kramer
8e77a1c125
Fixed download_node()
2017-04-22 01:39:52 +02:00
André Koch-Kramer
361445519a
Adapt new graphql layout used by Instagram
...
Fixes #19 .
2017-04-21 18:10:41 +02:00
André Koch-Kramer
13ebcb782e
Release of version 1.2
2016-09-22 19:04:25 +02:00
André Koch-Kramer
50faad0a04
Minimal updated description
2016-09-22 19:02:26 +02:00
André Koch-Kramer
98c2847afd
Implemented feature: store geotags/locations
2016-09-22 18:28:13 +02:00
André Koch-Kramer
0088ee5e9e
Added handling of UnicodeEncodeError
...
- Only try to print captions if possible
- Added option '--shorter-output' to disable output of captions
2016-08-04 19:36:36 +02:00
André Koch-Kramer
b71179371d
Do not sleep when --no-sleep is given
2016-08-03 20:25:16 +02:00
André Koch-Kramer
77d0d272fc
Implementation of get_id_by_username()
...
+ updated README.md
2016-08-02 21:27:39 +02:00
André Koch-Kramer
e6ca038e25
Store ID of profile to find it after name change
...
Closes #9 .
2016-08-02 18:54:30 +02:00
André Koch-Kramer
4fb574253e
change import order to satisfy pylint
2016-08-02 18:41:57 +02:00
André Koch-Kramer
584c3cc76c
Release of version 1.0.1
2016-08-01 18:16:47 +02:00
André Koch-Kramer
dd383d8887
Fix Windows Unicode Problems
...
Closes #11 .
instaloader now tries to use win-unicode-console when recognizing
windows.
2016-08-01 18:10:35 +02:00
André Koch-Kramer
8524c8a2f2
Output captions while downloading profiles
2016-07-29 16:53:18 +02:00
André Koch-Kramer
f3a52c6f4d
Release of version 1.0
2016-07-28 18:30:44 +02:00
André Koch-Kramer
651b590cfa
Implementation of get_username_by_id()
2016-07-28 18:15:36 +02:00
André Koch-Kramer
9d1af7adaf
Reimplemented test_login()
...
The username does not need to be given anymore at call of
test_login(). Now, the function uses the given session to lookup the
corresponding username.
2016-07-28 17:44:02 +02:00
André Koch-Kramer
e464787772
Implementation of gathering followees functionality
...
usage: get_followees(login, session)
2016-07-28 15:55:19 +02:00
André Koch-Kramer
b0a6677c76
Update X-CSRFToken header when loading session
2016-07-28 15:52:28 +02:00
André Koch-Kramer
e2d8c34eac
Don't download data json twice on private profiles
...
Fixes #6 .
2016-07-15 15:30:35 +02:00
André Koch-Kramer
bd190159f6
Always save session object when finishing download
...
Fix #1 .
2016-07-15 15:04:29 +02:00
André Koch-Kramer
ac3791c0b8
More serious error msg in case of nonexisting user
2016-07-04 23:50:20 +02:00
André Koch-Kramer
349181c62d
Fix #1 .
...
... with dirty hack.
2016-07-04 23:44:14 +02:00
André Koch-Kramer
7c3ca67a20
Intensive refactoring to satisfy pylint
2016-06-27 16:49:00 +02:00
André Koch-Kramer
d7d4d59bab
Fix of trolling infinite loop
...
- used to infinite loop when given wrong credentials
- now unable to invoke time.sleep() with negative values
- const argument becomes obsolete without nargs
2016-06-27 15:34:26 +02:00
André Koch-Kramer
4dedc86556
Ich hab mal ins Datenblatt geschaut.
...
Dabei hat sich herausgestellt, dass die regex hessischen Ursprungs war.
Außerdem hat Instagram wieder irgendwas an den URLs geändert.
2016-06-23 20:55:50 +02:00
André Koch-Kramer
e837c8ab5a
updated url parsing, fixed login functionality
...
- Instagram changed url style => accordingly updated parser
- successfully tested login and download of private profiles
- prevent echoing at password prompt
2016-06-22 14:00:22 +02:00
André Koch-Kramer
1c83e324b6
Changed User-Agent + download of private profiles
...
first attempt to implement login for downloading private profiles
2016-06-21 19:37:14 +02:00
André Koch-Kramer and Alexander Graf
0df54143e5
Initial commit
2016-06-15 12:42:08 +02:00