mirror of
https://github.com/instaloader/instaloader.git
synced 2026-10-28 20:21:58 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8612712f44 | ||
|
|
67ac8f3397 | ||
|
|
5fe2a70374 | ||
|
|
8bd9c4449c |
Vendored
+10
-1
@@ -1,3 +1,12 @@
|
|||||||
code {
|
code {
|
||||||
color: #222;
|
color: #222;
|
||||||
}
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.option dd {
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
|
|||||||
Vendored
+14
@@ -0,0 +1,14 @@
|
|||||||
|
<li class="dropdown globaltoc-container">
|
||||||
|
<a role="button"
|
||||||
|
id="dLabelGlobalToc"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
data-target="#"
|
||||||
|
href="{{ pathto(master_doc) }}">{{ theme_navbar_site_name }} <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu globaltoc"
|
||||||
|
role="menu"
|
||||||
|
aria-labelledby="dLabelGlobalToc">
|
||||||
|
{{ toctree(maxdepth=theme_globaltoc_depth|toint, collapse=False, includehidden=theme_globaltoc_includehidden|tobool) }}
|
||||||
|
<li role="separator" class="divider"></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
Vendored
+7
@@ -1,4 +1,11 @@
|
|||||||
{% extends "!layout.html" %}
|
{% extends "!layout.html" %}
|
||||||
|
{% block htmltitle %}
|
||||||
|
{% if pagename == "index" %}
|
||||||
|
<title>{{ title|striptags|e }}</title>
|
||||||
|
{% else %}
|
||||||
|
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
{% block extrahead %}
|
{% block extrahead %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
<meta name="google-site-verification" content="FNUsDdkOJM9obm9QEdrNBVd9AtAzHzA-aaSMCUrS6C8" />
|
<meta name="google-site-verification" content="FNUsDdkOJM9obm9QEdrNBVd9AtAzHzA-aaSMCUrS6C8" />
|
||||||
|
|||||||
Vendored
+3
-3
@@ -14,7 +14,7 @@
|
|||||||
{% if theme_navbar_title -%}{{ theme_navbar_title|e }}{%- else -%}{{ project|e }}{%- endif -%}
|
{% if theme_navbar_title -%}{{ theme_navbar_title|e }}{%- else -%}{{ project|e }}{%- endif -%}
|
||||||
</a>
|
</a>
|
||||||
<span class="navbar-text navbar-version pull-left">
|
<span class="navbar-text navbar-version pull-left">
|
||||||
<a href="https://github.com/instaloader/instaloader/releases/tag/v{{current_release}}" title="Released on {{current_release_date}}.">v<b>{{current_release}}</b></a>
|
<a href="https://github.com/instaloader/instaloader/releases/tag/v{{current_release}}" title="Released on {{current_release_date}}">v<b>{{current_release}}</b></a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% block navbartoc %}
|
{% block navbartoc %}
|
||||||
{% include "globaltoc.html" %}
|
{% include "globaltoc.html" %}
|
||||||
{% if theme_navbar_pagenav %}
|
{% if theme_navbar_pagenav and pagename not in ("index", "genindex", "installation") %}
|
||||||
{% include "navbartoc.html" %}
|
{% include "navbartoc.html" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabelUsefulLinks">
|
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabelUsefulLinks">
|
||||||
<li><a href="https://github.com/instaloader/instaloader/issues">Issue Tracker</a></li>
|
<li><a href="https://github.com/instaloader/instaloader/issues">Issue Tracker</a></li>
|
||||||
<li><a href="https://github.com/instaloader/instaloader/releases">Version History</a></li>
|
<li><a href="https://github.com/instaloader/instaloader/releases">Version History</a></li>
|
||||||
<li><a href="https://pypi.python.org/pypi/instaloader">Instaloader on PyPI</a></li>
|
<li><a href="https://pypi.org/project/instaloader/">Instaloader on PyPI</a></li>
|
||||||
<li><a href="https://github.com/instaloader/instaloader">Instaloader on GitHub</a></li>
|
<li><a href="https://github.com/instaloader/instaloader">Instaloader on GitHub</a></li>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
<li style="padding-left: 20px;"><a class="github-button" href="https://github.com/instaloader/instaloader" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star Instaloader on GitHub">Star</a></li>
|
<li style="padding-left: 20px;"><a class="github-button" href="https://github.com/instaloader/instaloader" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star Instaloader on GitHub">Star</a></li>
|
||||||
|
|||||||
+1
-1
@@ -212,7 +212,7 @@ html_domain_indices = False
|
|||||||
|
|
||||||
# If false, no index is generated.
|
# If false, no index is generated.
|
||||||
#
|
#
|
||||||
html_use_index = False
|
html_use_index = True
|
||||||
|
|
||||||
# If true, the index is split into individual pages for each letter.
|
# If true, the index is split into individual pages for each letter.
|
||||||
#
|
#
|
||||||
|
|||||||
+5
-3
@@ -5,6 +5,8 @@
|
|||||||
saved media, and their metadata, comments and captions.
|
saved media, and their metadata, comments and captions.
|
||||||
Written in Python.
|
Written in Python.
|
||||||
|
|
||||||
|
.. title:: Instaloader — Download Instagram Photos and Metadata
|
||||||
|
|
||||||
Instaloader
|
Instaloader
|
||||||
===========
|
===========
|
||||||
|
|
||||||
@@ -43,8 +45,8 @@ With `Python <https://www.python.org/>`__ installed, do::
|
|||||||
:stories | :feed | :saved
|
:stories | :feed | :saved
|
||||||
|
|
||||||
|
|
||||||
Table of Contents
|
Instaloader Documentation
|
||||||
-----------------
|
-------------------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
@@ -59,7 +61,7 @@ Useful Links
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
- `Git Repository (on GitHub) <https://github.com/instaloader/instaloader>`__
|
- `Git Repository (on GitHub) <https://github.com/instaloader/instaloader>`__
|
||||||
- `PyPI Project Page <https://pypi.python.org/pypi/instaloader>`__
|
- `PyPI Project Page <https://pypi.org/project/instaloader/>`__
|
||||||
- `Issue Tracker / Bug Tracker <https://github.com/instaloader/instaloader/issues>`__
|
- `Issue Tracker / Bug Tracker <https://github.com/instaloader/instaloader/issues>`__
|
||||||
- `Version History <https://github.com/instaloader/instaloader/releases>`__
|
- `Version History <https://github.com/instaloader/instaloader/releases>`__
|
||||||
|
|
||||||
|
|||||||
+17
-5
@@ -30,7 +30,7 @@ import requests.utils
|
|||||||
import urllib3
|
import urllib3
|
||||||
|
|
||||||
|
|
||||||
__version__ = '3.3.4'
|
__version__ = '3.3.5'
|
||||||
|
|
||||||
# NOTE: duplicated in README.rst and docs/index.rst
|
# NOTE: duplicated in README.rst and docs/index.rst
|
||||||
USAGE_STRING = """
|
USAGE_STRING = """
|
||||||
@@ -1302,10 +1302,19 @@ class Instaloader:
|
|||||||
|
|
||||||
def get_hashtag_posts(self, hashtag: str) -> Iterator[Post]:
|
def get_hashtag_posts(self, hashtag: str) -> Iterator[Post]:
|
||||||
"""Get Posts associated with a #hashtag."""
|
"""Get Posts associated with a #hashtag."""
|
||||||
yield from (Post(self, node) for node in
|
has_next_page = True
|
||||||
self.graphql_node_list(17875800862117404, {'tag_name': hashtag},
|
end_cursor = None
|
||||||
'https://www.instagram.com/explore/tags/{0}/'.format(hashtag),
|
while has_next_page:
|
||||||
lambda d: d['data']['hashtag']['edge_hashtag_to_media']))
|
if end_cursor:
|
||||||
|
params = {'__a': 1, 'max_id': end_cursor}
|
||||||
|
else:
|
||||||
|
params = {'__a': 1}
|
||||||
|
hashtag_data = self.get_json('explore/tags/{0}/'.format(hashtag),
|
||||||
|
params)['graphql']['hashtag']['edge_hashtag_to_media']
|
||||||
|
yield from (Post(self, edge['node']) for edge in
|
||||||
|
hashtag_data['edges'])
|
||||||
|
has_next_page = hashtag_data['page_info']['has_next_page']
|
||||||
|
end_cursor = hashtag_data['page_info']['end_cursor']
|
||||||
|
|
||||||
def download_hashtag(self, hashtag: str,
|
def download_hashtag(self, hashtag: str,
|
||||||
max_count: Optional[int] = None,
|
max_count: Optional[int] = None,
|
||||||
@@ -1364,6 +1373,9 @@ class Instaloader:
|
|||||||
self._log("Profile {0} does not match the stored unique ID {1}.".format(profile, profile_id))
|
self._log("Profile {0} does not match the stored unique ID {1}.".format(profile, profile_id))
|
||||||
else:
|
else:
|
||||||
self._log("Trying to find profile {0} using its unique ID {1}.".format(profile, profile_id))
|
self._log("Trying to find profile {0} using its unique ID {1}.".format(profile, profile_id))
|
||||||
|
if not self.is_logged_in:
|
||||||
|
self.error("Profile {} changed its name. If you use --login=USERNAME, I can find out the new name.")
|
||||||
|
raise LoginRequiredException("Login required to obtain username from userid")
|
||||||
newname = self.get_username_by_id(profile_id)
|
newname = self.get_username_by_id(profile_id)
|
||||||
self._log("Profile {0} has changed its name to {1}.".format(profile, newname))
|
self._log("Profile {0} has changed its name to {1}.".format(profile, newname))
|
||||||
if ((format_string_contains_key(self.dirname_pattern, 'profile') or
|
if ((format_string_contains_key(self.dirname_pattern, 'profile') or
|
||||||
|
|||||||
Reference in New Issue
Block a user