
Ещё один загрузчик изображений и видео из Instagram без использования API. (не работает)
.. |starme| image:: https://img.shields.io/github/stars/althonos/InstaLooter.svg?style=social&label=Star :target: https://github.com/althonos/InstaLooter
Не все сокровища — серебро и золото, приятель.
|build| |repo| |versions| |format| |coverage| |doc| |grade| |license| |keepachangelog| |saythanks|
.. |build| image:: https://img.shields.io/travis/althonos/InstaLooter/master.svg?label=travis-ci&style=flat-square :target: https://travis-ci.org/althonos/InstaLooter/
.. |repo| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/althonos/InstaLooter
.. |versions| image:: https://img.shields.io/pypi/v/instalooter.svg?style=flat-square :target: https://pypi.org/project/instalooter
.. |format| image:: https://img.shields.io/pypi/format/instalooter.svg?style=flat-square :target: https://pypi.org/project/instalooter
.. |grade| image:: https://img.shields.io/codacy/grade/9b8c7da6887c4195b9e960cb04b59a91/master.svg?style=flat-square :target: https://www.codacy.com/app/althonos/InstaLooter/dashboard
.. |coverage| image:: https://img.shields.io/codecov/c/github/althonos/InstaLooter/master.svg?style=flat-square :target: https://codecov.io/gh/althonos/InstaLooter
.. |doc| image:: https://img.shields.io/readthedocs/instalooter.svg?style=flat-square :target: http://instalooter.readthedocs.io/en/stable/?badge=stable
.. .. |requirements| image:: https://img.shields.io/requires/github/althonos/InstaLooter/master.svg?style=flat-square .. :target: https://requires.io/github/althonos/InstaLooter/requirements/?branch=master
.. .. |health| image:: https://landscape.io/github/althonos/InstaLooter/master/landscape.svg?style=flat-square .. :target: https://landscape.io/github/althonos/InstaLooter/master
.. |license| image:: https://img.shields.io/pypi/l/instalooter.svg?style=flat-square :target: https://choosealicense.com/licenses/gpl-3.0/
.. |keepachangelog| image:: https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=86400&style=flat-square :target: http://keepachangelog.com/
.. |saythanks| image:: https://img.shields.io/badge/say-thanks!-1EAEDB.svg?maxAge=86400&style=flat-square :target: https://saythanks.io/to/althonos
InstaLooter — это программа, которая может загружать любые изображения или видео, связанные с профилем Instagram, без использования API. Её можно рассматривать как перереализацию ныне устаревшего InstaRaider <https://github.com/akurtovic/InstaRaider>, разработанного @akurtovic <https://github.com/akurtovic>.
v1.0.0 был полностью переписан с нуля, и поэтому, скорее всего, нарушит совместимость с вашими самодельными скриптами. В то же время были приложены значительные усилия, чтобы сохранить CLI максимально совместимым с предыдущими версиями, так что, надеюсь, он будет чувствоваться как родной.
+--------------------+----------------------------+----------------------+------------------------+-------------------------+ | coloredlogs | Цветной вывод | |PyPI coloredlogs| | |Source coloredlogs| | |License coloredlogs| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | dateutil | Работа с датами | |PyPI dateutil| | |Source dateutil| | |License dateutil| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | docopt | Разбор аргументов CLI | |PyPI docopt| | |Source docopt| | |License docopt| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | fs | Работа с файловой системой| |PyPI fs| | |Source fs| | |License fs| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | requests | Обработка HTTP | |PyPI requests| | |Source requests| | |License requests| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | six | Совместимость Python 2/3 | |PyPI six| | |Source six| | |License six| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | tenacity | Повтор до успеха | |PyPI tenacity| | |Source tenacity| | |License tenacity| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | tqdm | Динамический вывод в CLI | |PyPI tqdm| | |Source tqdm| | |License tqdm| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+ | verboselogs | Более подробные логи | |PyPI verboselogs| | |Source verboselogs| | |License verboselogs| | +--------------------+----------------------------+----------------------+------------------------+-------------------------+
.. |PyPI coloredlogs| image:: https://img.shields.io/pypi/v/coloredlogs.svg?style=flat-square :target: https://pypi.org/project/coloredlogs
.. |PyPI dateutil| image:: https://img.shields.io/pypi/v/python-dateutil.svg?style=flat-square :target: https://pypi.org/project/python-dateutil/
.. |PyPI docopt| image:: https://img.shields.io/pypi/v/docopt.svg?style=flat-square :target: https://pypi.org/project/docopt/
.. |PyPI fs| image:: https://img.shields.io/pypi/v/fs.svg?style=flat-square :target: https://pypi.org/project/fs/
.. |PyPI fakeua| image:: https://img.shields.io/pypi/v/fake-useragent.svg?style=flat-square :target: https://pypi.org/project/fake-useragent/
.. |PyPI requests| image:: https://img.shields.io/pypi/v/requests.svg?style=flat-square :target: https://pypi.org/project/requests
.. |PyPI six| image:: https://img.shields.io/pypi/v/six.svg?style=flat-square :target: https://pypi.org/project/six
.. |PyPI tenacity| image:: https://img.shields.io/pypi/v/tenacity.svg?style=flat-square :target: https://pypi.org/project/tenacity
.. |PyPI tqdm| image:: https://img.shields.io/pypi/v/tqdm.svg?style=flat-square :target: https://pypi.org/project/tqdm
.. |PyPI verboselogs| image:: https://img.shields.io/pypi/v/verboselogs.svg?style=flat-square :target: https://pypi.org/project/verboselogs
.. |Source coloredlogs| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/xolox/python-coloredlogs
.. |Source dateutil| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/dateutil/dateutil/
.. |Source docopt| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/docopt/docopt
.. |Source fs| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/PyFilesystem/pyfilesystem2
.. |Source fakeua| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/hellysmile/fake-useragent
.. |Source requests| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/kennethreitz/requests
.. |Source six| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/benjaminp/six
.. |Source tenacity| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/jd/tenacity
.. |Source tqdm| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/tqdm/tqdm
.. |Source verboselogs| image:: https://img.shields.io/badge/source-GitHub-303030.svg?style=flat-square :target: https://github.com/xolox/python-verboselogs
.. |License coloredlogs| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square :target: https://choosealicense.com/licenses/mit/
.. |License dateutil| image:: https://img.shields.io/pypi/l/python-dateutil.svg?style=flat-square :target: https://choosealicense.com/licenses/apache-2.0/
.. |License docopt| image:: https://img.shields.io/pypi/l/docopt.svg?style=flat-square :target: https://choosealicense.com/licenses/mit/
.. |License fs| image:: https://img.shields.io/pypi/l/fs.svg?style=flat-square :target: https://choosealicense.com/licenses/mit/
.. |License fakeua| image:: https://img.shields.io/badge/license-Apache_2.0-blue.svg?style=flat-square :target: https://choosealicense.com/licenses/apache-2.0/
.. |License requests| image:: https://img.shields.io/pypi/l/requests.svg?style=flat-square :target: https://choosealicense.com/licenses/apache-2.0/
.. |License six| image:: https://img.shields.io/pypi/l/six.svg?style=flat-square :target: https://choosealicense.com/licenses/mit/
.. |License tenacity| image:: https://img.shields.io/badge/license-Apache_2.0-blue.svg?style=flat-square :target: https://choosealicense.com/licenses/apache-2.0/
.. |License tqdm| image:: https://img.shields.io/pypi/l/tqdm.svg?style=flat-square :target: https://choosealicense.com/licenses/mpl-2.0/
.. |License verboselogs| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square :target: https://choosealicense.com/licenses/mit/
InstaLooter доступен на PyPI для установки через pip. Если вы не знакомы с управлением пакетами в экосистеме Python, пожалуйста, ознакомьтесь со страницей установки <http://instalooter.readthedocs.io/en/latest/install.html>_ в документации <http://instalooter.readthedocs.io/en/latest/index.html>_. Тем не менее, скорее всего, вы воспользуетесь следующей командой::
pip install --user instalooter --pre
instalooter поставляется с собственным CLI::
$ instalooter user <username> [<directory>] [options]
$ instalooter hashtag <hashtag> [<directory>] [options]
$ instalooter post <post_token> [<directory>] [options]
$ instalooter batch [<batch_file>]
Смотрите instalooter --usage для всех возможных вариантов использования, или instalooter --help для полного руководства.
Существует два способа войти в Instagram через instalooter:
instalooter login) для интерактивного входа с использованием вашего имени пользователя и пароля.--username (и, при желании, --password) любой из команд загрузки.В обоих случаях будет создан файл cookie сеанса в папке, специфичной для кэша. Чтобы удалить его и закрыть сеанс на сервере, используйте подкоманду logout.
Загрузить все изображения из профиля instagram в текущую директорию::
$ instalooter user instagram
Загрузить последние 20 изображений или видео с тегом python в /tmp::
$ instalooter hashtag python /tmp -n 20 --get-videos -c MYLOGIN
Загрузить отдельную публикацию по URL в директорию ~/Pictures::
$ instalooter post "https://www.instagram.com/p/BFB6znLg5s1/" ~/Pictures
Использовать конфигурационный файл для загрузки с нескольких аккаунтов с настраиваемыми параметрами (см. Пакетный режим <http://instalooter.readthedocs.io/en/latest/batch.html>_)::
$ instalooter batch /path/to/a/config/file.ini
Подробнее на странице использования <http://instalooter.readthedocs.io/en/latest/usage.html>_ в онлайн-документации <http://instalooter.readthedocs.io/en/latest/index.html>_.