1
0
mirror of https://github.com/instaloader/instaloader.git synced 2024-09-11 16:22:24 +02:00
instaloader/docs/as-module.rst

140 lines
3.3 KiB
ReStructuredText
Raw Normal View History

.. meta::
:description:
2018-04-28 21:45:57 +02:00
Documentation of Instaloader module, a powerful and intuitive
Python library to download Instagram media and metadata.
2017-09-08 10:35:38 +02:00
Python Module :mod:`instaloader`
--------------------------------
2017-09-08 10:35:38 +02:00
.. module:: instaloader
2017-09-08 10:35:38 +02:00
.. highlight:: python
2018-04-20 16:36:37 +02:00
.. contents::
:backlinks: none
2018-04-28 21:45:57 +02:00
Instaloader exposes its internally used methods and structures as a Python
module, making it a **powerful and intuitive Python API for Instagram**,
allowing to further customize obtaining media and metadata.
2017-09-08 10:35:38 +02:00
Start with getting an instance of :class:`Instaloader`::
2017-09-08 10:35:38 +02:00
import instaloader
# Get instance
L = instaloader.Instaloader()
# Optionally, login or load session
L.login(USER, PASSWORD) # (login)
L.interactive_login(USER) # (ask password on terminal)
L.load_session_from_file(USER) # (load session created w/
# `instaloader -l USERNAME`)
:mod:`instaloader` provides the :class:`Post` structure, which represents a
picture, video or sidecar (set of multiple pictures/videos) posted in a user's
profile. :class:`Instaloader` provides methods to iterate over Posts from a
certain source::
for post in L.get_hashtag_posts('cat'):
# post is an instance of instaloader.Post
L.download_post(post, target='#cat')
2017-09-08 10:35:38 +02:00
Besides :func:`Instaloader.get_hashtag_posts`, there is
:func:`Instaloader.get_feed_posts`, :func:`Profile.get_posts` and
:func:`Profile.get_saved_posts`.
Also, :class:`Post` instances can be created with :func:`Post.from_shortcode`
and :func:`Post.from_mediaid`.
A reference of the many methods provided by the :mod:`instaloader` module is
2018-04-20 16:36:37 +02:00
provided in the remainder of this document.
``Instaloader`` (Main Class)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2017-09-08 10:35:38 +02:00
.. autoclass:: Instaloader
:no-show-inheritance:
2018-04-20 16:36:37 +02:00
Instagram Structures
^^^^^^^^^^^^^^^^^^^^
2018-04-28 21:45:57 +02:00
Posts
"""""
2018-04-28 21:45:57 +02:00
.. autoclass:: Post
:no-show-inheritance:
2018-04-20 16:36:37 +02:00
2018-04-28 21:45:57 +02:00
Additionally, the following trivial structures are defined:
2018-04-20 16:36:37 +02:00
2018-04-28 21:45:57 +02:00
.. autoclass:: PostSidecarNode
:no-show-inheritance:
:no-members:
2018-04-20 16:36:37 +02:00
2018-04-28 21:45:57 +02:00
.. autoclass:: PostComment
:no-show-inheritance:
:no-members:
2018-04-28 21:45:57 +02:00
.. autoclass:: PostLocation
2017-09-08 10:35:38 +02:00
:no-show-inheritance:
2018-04-28 21:45:57 +02:00
:no-members:
2017-09-08 10:35:38 +02:00
2018-04-28 21:45:57 +02:00
User Stories
""""""""""""
.. autoclass:: Story
:no-show-inheritance:
2017-09-08 10:35:38 +02:00
2018-04-20 16:36:37 +02:00
.. autoclass:: StoryItem
:no-show-inheritance:
2017-09-08 10:35:38 +02:00
2018-04-28 21:45:57 +02:00
Profiles
""""""""
2018-04-20 16:36:37 +02:00
.. autoclass:: Profile
:no-show-inheritance:
2017-09-08 10:35:38 +02:00
2018-04-28 21:45:57 +02:00
Loading and Saving
""""""""""""""""""
:class:`Post`, :class:`StoryItem` and :class:`Profile` can be saved and loaded
to/from JSON files.
.. autofunction:: load_structure_from_file
.. autofunction:: save_structure_to_file
2017-09-08 10:35:38 +02:00
Exceptions
^^^^^^^^^^
.. autoexception:: InstaloaderException
:no-show-inheritance:
2018-04-20 16:36:37 +02:00
.. autoexception:: QueryReturnedBadRequestException
2017-09-08 10:35:38 +02:00
.. autoexception:: QueryReturnedNotFoundException
.. autoexception:: QueryReturnedForbiddenException
2017-09-08 10:35:38 +02:00
.. autoexception:: ProfileNotExistsException
.. autoexception:: ProfileHasNoPicsException
.. autoexception:: PrivateProfileNotFollowedException
.. autoexception:: LoginRequiredException
.. autoexception:: InvalidArgumentException
.. autoexception:: BadResponseException
.. autoexception:: BadCredentialsException
.. autoexception:: ConnectionException
.. autoexception:: TooManyRequestsException
2018-04-20 16:36:37 +02:00
``InstaloaderContext`` (Low-level functions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. autoclass:: InstaloaderContext
:no-show-inheritance: