Minor doc-related improvements
This commit is contained in:
parent
fbbbfdf53c
commit
d84136b2dd
10
README.rst
10
README.rst
@ -24,7 +24,7 @@ Alternatively, to get the most current version of Instaloader from our
|
||||
(pass ``--upgrade`` to upgrade if Instaloader is already installed)
|
||||
|
||||
Instaloader requires
|
||||
`requests <https://pypi.python.org/pypi/requests>`__, which
|
||||
`requests <http://python-requests.org/>`__, which
|
||||
will be installed automatically, if it is not already installed.
|
||||
|
||||
.. installation-end
|
||||
@ -32,9 +32,6 @@ will be installed automatically, if it is not already installed.
|
||||
How to Automatically Download Pictures from Instagram
|
||||
-----------------------------------------------------
|
||||
|
||||
(This file is only a summary of
|
||||
`the complete Instaloader Documentation <https://instaloader.readthedocs.io/>`__)
|
||||
|
||||
.. basic-usage-start
|
||||
|
||||
To **download all pictures and videos of a profile**, as well as the
|
||||
@ -122,7 +119,8 @@ For example, encode the poster's profile name in the filenames with:
|
||||
|
||||
The pattern string is formatted with Python's string formatter. This
|
||||
gives additional flexibilty for pattern specification. For example,
|
||||
strptime-style formatting options are supported for the post's
|
||||
`strftime-style formatting options <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior>`__
|
||||
are supported for the post's
|
||||
timestamp. The default for ``{date}`` is ``{date:%Y-%m-%d_%H-%M-%S}``.
|
||||
|
||||
Filter Posts
|
||||
@ -343,7 +341,7 @@ get the current username of a profile, given this unique ID
|
||||
.. as-module-intro-end
|
||||
|
||||
Refer to the
|
||||
`Instaloader Documentation <https://instaloader.readthedocs.io/>`__ for
|
||||
`Instaloader Documentation <https://instaloader.readthedocs.io/as-module.html>`__ for
|
||||
more information.
|
||||
|
||||
Disclaimer
|
||||
|
@ -14,10 +14,13 @@ With `Python <https://www.python.org/>`__ installed, do:
|
||||
|
||||
**Instaloader**
|
||||
|
||||
- downloads **public and private profiles, hashtags, user stories,
|
||||
- downloads **public and private profiles, hashtags, user stories and
|
||||
feeds**,
|
||||
|
||||
- downloads **comments, geotags, captions** of each post,
|
||||
- downloads **comments, geotags and captions** of each post,
|
||||
|
||||
- automatically **detects profile name changes** and renames the target
|
||||
directory accordingly,
|
||||
|
||||
- allows **fine-grained customization** of filters and where to store
|
||||
downloaded media,
|
||||
|
@ -197,6 +197,7 @@ class Post:
|
||||
|
||||
@property
|
||||
def shortcode(self) -> str:
|
||||
"""Media shortcode. URL of the post is instagram.com/p/<shortcode>/."""
|
||||
return self._node['shortcode'] if 'shortcode' in self._node else self._node['code']
|
||||
|
||||
def __repr__(self):
|
||||
@ -247,10 +248,12 @@ class Post:
|
||||
|
||||
@property
|
||||
def date(self) -> datetime:
|
||||
"""Timestamp when the post was created."""
|
||||
return datetime.fromtimestamp(self._node["date"] if "date" in self._node else self._node["taken_at_timestamp"])
|
||||
|
||||
@property
|
||||
def url(self) -> str:
|
||||
"""URL of the picture / video thumbnail of the post"""
|
||||
return self._node["display_url"] if "display_url" in self._node else self._node["display_src"]
|
||||
|
||||
@property
|
||||
@ -266,6 +269,7 @@ class Post:
|
||||
|
||||
@property
|
||||
def caption(self) -> Optional[str]:
|
||||
"""Caption."""
|
||||
if "edge_media_to_caption" in self._node and self._node["edge_media_to_caption"]["edges"]:
|
||||
return self._node["edge_media_to_caption"]["edges"][0]["node"]["text"]
|
||||
elif "caption" in self._node:
|
||||
@ -273,10 +277,12 @@ class Post:
|
||||
|
||||
@property
|
||||
def is_video(self) -> bool:
|
||||
"""True if the Post is a video."""
|
||||
return self._node['is_video']
|
||||
|
||||
@property
|
||||
def video_url(self) -> Optional[str]:
|
||||
"""URL of the video, or None."""
|
||||
if self.is_video:
|
||||
return self._field('video_url')
|
||||
|
||||
@ -368,6 +374,7 @@ class Instaloader:
|
||||
|
||||
@property
|
||||
def is_logged_in(self) -> bool:
|
||||
"""True, if this Instaloader instance is logged in."""
|
||||
return bool(self.username)
|
||||
|
||||
@contextmanager
|
||||
@ -589,6 +596,7 @@ class Instaloader:
|
||||
|
||||
def graphql_node_list(self, query_id: int, query_variables: Dict[str, Any], query_referer: Optional[str],
|
||||
edge_extractor: Callable[[Dict[str, Any]], Dict[str, Any]]) -> Iterator[Dict[str, Any]]:
|
||||
"""Retrieve a list of GraphQL nodes."""
|
||||
query_variables['first'] = 500
|
||||
data = self.graphql_query(query_id, query_variables, query_referer)
|
||||
while True:
|
||||
|
Loading…
Reference in New Issue
Block a user