Commit Graph

707 Commits

Author SHA1 Message Date
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
Alexander Graf 4b8b257672 Fix rst formatting in README 2017-07-29 21:51:51 +02:00
Alexander Graf b1b90f8abf target :stories; flags --stories & --stories-only
This allows to invoke the new download_stories() function contributed
in #28 by command line.
2017-07-29 17:51:39 +02:00
Alexander Graf 66f69b5c21 Consistently use datetime type for handling dates 2017-07-29 11:08:52 +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
Lars Lindqvist b85e8fd793 Get stories per user 2017-07-28 18:36:15 +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
Lars Lindqvist c355338010 Stories POC 2017-07-27 16:59:21 +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
Alexander Graf 151ccfd71d Enhance behavior of waiting between requests
Unless --no-sleep is given, Instaloader waits between requests to the
Instagram servers.

This commit fixes and enhances this behavior. Now, --no-sleep is always
obeyed. Between requests to the instagram.com servers, there is now a
delay of 250 ms ~ 2000 ms. Requests to the file servers do not cause a
delay.
2017-07-26 15:10:12 +02:00
André Koch-Kramer bf5e3b90d0 Updated descriptions consistent with docstring 2017-07-26 14:43:08 +02:00
Alexander Graf 56b27fb26f Fix download_feed_pics()
Now we also use GraphQL queries for retrieving the user's feed.
2017-07-25 21:01:48 +02:00
Alexander Graf 8572e527ec Options --dirname-pattern and --filename-pattern
Instaloader downloads all posts in

  <DIRNAME>/<FILENAME>+(suffix and extension)

which are now generated by the templates given with --dirname-pattern
and --filename-pattern. These templates may contain specifiers such as
'{target}', '{profile}', '{date}' and '{shortcode}'.

Default for --dirname-pattern is '{target}', default for
--filename-pattern is '{date:%Y-%m-%d_%H-%M-%S}'

The former options --no-profile-subdir and --hashtag-username were
removed, because their behavior can now be achieved like this:

--no-profile-subdir and --hashtag-username:
--dirname-pattern='.' --filename-pattern='{profile}__{date:%Y-%m-%d_%H-%M-%S}'

--no-profile-subdir, but not --hashtag-username:
--dirname-pattern='.' --filename-pattern='{target}__{date:%Y-%m-%d_%H-%M-%S}'

--hashtag-username but not --no-profile-subdir:
--dirname-pattern='{profile}'

This adds the option proposed in #23, to encode both the hashtag and the
profile name in the file's path when downloading by hashtag, e.g.:
--dirname-pattern='{target}' --filename-pattern='{profile}_{date:%Y-%m-%d_%H-%M-%S}'

(Closes #23)
2017-07-25 18:45:01 +02:00
Alexander Graf 5068c9453e graphql_query() method for GraphQL queries 2017-07-24 12:08: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
Alexander Graf ee8e159d56 Fix README regarding when profiles are found by ID 2017-07-20 18:19:15 +02:00
Alexander Graf b3f916b371 Fix pathname capitalization inconsistency issues 2017-07-20 18:08:16 +02:00
André Koch-Kramer 1fdce16f46 Fix get_followees() and implement get_followers() 2017-07-20 18:01:29 +02:00
Alexander Graf dd513f7190 Let anonymous loader inherit all options 2017-07-20 15:24:57 +02:00
Alexander Graf 7198f1ad9f Restructure --help and Options section in README 2017-07-20 14:54:22 +02:00
Alexander Graf 58c12d5618 Allow changing HTTP User Agent string 2017-07-20 11:25:46 +02:00
Alexander Graf 1e10ab8669 Revert "Replaced usages of shortcode with mediaid"
This reverts commit 715582138b.

It broke downloading sidecars and did not introduce any advantageous
behavior.
2017-07-14 15:29:09 +02:00
Alexander Graf c0eecd1bd2 Usability fixes in improvements
On module level:

Cleaner exception handling for load_session_from file

interactive_login logs in interactively now, always asking the user for
password. Before, it had an optional password parameter determining
whether it was interactive or not.

On application level:

Warn if profile specifiers are used which require login, but not --login
flag was given (@profile, :feed-all, :feed-liked).

Clearly warn that --password is insecure.
2017-07-14 11:04:32 +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
Alexander Graf 4768fdbd10 --hashtag-username to store by-username
With --hashtag-username given, if downloading per #hashtag, instead of
per username, for each picture an additional request to the Instagram
server is issued to lookup the picture's username. Instead of storing
files in #hashtag/timestamp.jpg, files are stored in
username/timestamp.jpg as it is the default when not downloading per
hashtag.

This closes #22.
2017-06-27 09:19:29 +02:00
Alexander Graf 591dfd31e4 --no-profile-subdir to encode profile in filename
Fixes #22.
2017-06-25 14:55:44 +02:00
Alexander Graf caf75a8135 Refactor Instaloader's methods into a class 2017-06-24 22:43:40 +02:00
André Koch-Kramer 52492456ed Release of version 1.3 2017-04-22 18:01:54 +02:00
Alexander Graf e0924e8d08 Fix --geotags 2017-04-22 17:54:21 +02:00
Alexander Graf 655dbb552d Further clarify meaning of --count 2017-04-22 17:34:49 +02:00
André Koch-Kramer fdb8e94c64 Fixed ":feed-liked" functionality 2017-04-22 17:26:48 +02:00
Alexander Graf b3c83f420c --count to limit posts at #hashtag and :feed-* 2017-04-22 17:21:02 +02:00
Alexander Graf df00e2b03a Minor enhancements to README 2017-04-22 12:11:56 +02:00
Alexander Graf b60f0b4836 README: Document all of Instaloader's features 2017-04-22 11:58:59 +02:00
Alexander Graf 35e71192c5 travis: Enable more Pylint inspections 2017-04-22 11:58:12 +02:00
André Koch-Kramer 2106c2d5f6 Satisfy pylint after their update 2017-04-22 11:13:10 +02:00