# Instarchive
Instarchive is a command-line utility for collecting and organizing data from
specific Instagram profiles using the [Instaloader](https://github.com/instaloader/instaloader)
Python module.
## Installation
Instarchive is available on [PyPI](https://pypi.org/project/instarchive/).
```sh
pip3 install instarchive
```
## Features
- Downloads items only from a given list of users to track (instead of
enumerating all followees or downloading the whole feed).
- Sorts items from `:stories` and `:feeds` into directories based on username.
- Responds to username changes and updates the tracking list file automatically.
## Usage
Demo assuming a Unix environment:
```sh
# Set up the archive. Do re-run this command if you've changed your username.
# The username can also be omitted for using Instarchive anonymously (private
# profiles won't be accessible in those cases).
instarchive init 'my_username'
# The file containing a list of users to track. Only data and metadata
# associated with these users will ever be downloaded.
cat << EOF > ~/instarchive/tracking.txt
target_username
# this is a comment
another_target_username
EOF
# Login to Instagram; your password and authentication code, if necessary, will
# be prompted for. Also, re-run this command if your session has expired, as is
# typically the case when HTTP 401 errors prevent content download.
instarchive login
# Download all accessible data (profile info, profile pic, posts, highlights,
# stories etc.) from all of the users named in the tracking list. Optional;
# intended to be run only once or occasionally since it takes a lot of web
# requests to Instagram. Consider the 'feed' command instead for regular runs.
instarchive everything
# Download data (stories and posts) from the users named in the tracking list,
# only based on what is visible in your feed. Note that this is much faster
# than the 'everything' command. To specify the number of posts to go through in
# the feed, pass the '-p <number of posts>' option; the default is 200.
instarchive feed
```
By default, the archive is located at the `instarchive` directory under the
home directory of the current OS user. This location can be changed by passing
the `-d <path to archive directory>` option to `instarchive`.
Run `instarchive [optional command name] --help` for usage information.
## Disclaimer
As with Instaloader itself, Instarchive is independent of and unsupported by
Instagram. Use at your own risk, and be wary of ratelimits.
Raw data
{
"_id": null,
"home_page": null,
"name": "instarchive",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "instagram, instagram-scraper, instagram-client, instagram-feed, downloader, videos, photos, pictures, instagram-user-photos, instagram-photos, instagram-metadata, instagram-downloader, instagram-stories",
"author": null,
"author_email": "Expertcoderz <expertcoderzx@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f6/5d/c011e7ab7fe234a021513da0f76f2b6b083e037a85ecf7f385b5113d2885/instarchive-1.0.2.tar.gz",
"platform": null,
"description": "# Instarchive\n\nInstarchive is a command-line utility for collecting and organizing data from\nspecific Instagram profiles using the [Instaloader](https://github.com/instaloader/instaloader)\nPython module.\n\n## Installation\n\nInstarchive is available on [PyPI](https://pypi.org/project/instarchive/).\n\n```sh\npip3 install instarchive\n```\n\n## Features\n\n- Downloads items only from a given list of users to track (instead of\n enumerating all followees or downloading the whole feed).\n\n- Sorts items from `:stories` and `:feeds` into directories based on username.\n\n- Responds to username changes and updates the tracking list file automatically.\n\n## Usage\n\nDemo assuming a Unix environment:\n\n```sh\n# Set up the archive. Do re-run this command if you've changed your username.\n# The username can also be omitted for using Instarchive anonymously (private\n# profiles won't be accessible in those cases).\ninstarchive init 'my_username'\n\n# The file containing a list of users to track. Only data and metadata\n# associated with these users will ever be downloaded.\ncat << EOF > ~/instarchive/tracking.txt\ntarget_username\n\n# this is a comment\nanother_target_username\nEOF\n\n# Login to Instagram; your password and authentication code, if necessary, will\n# be prompted for. Also, re-run this command if your session has expired, as is\n# typically the case when HTTP 401 errors prevent content download.\ninstarchive login\n\n# Download all accessible data (profile info, profile pic, posts, highlights,\n# stories etc.) from all of the users named in the tracking list. Optional;\n# intended to be run only once or occasionally since it takes a lot of web\n# requests to Instagram. Consider the 'feed' command instead for regular runs.\ninstarchive everything\n\n# Download data (stories and posts) from the users named in the tracking list,\n# only based on what is visible in your feed. Note that this is much faster\n# than the 'everything' command. To specify the number of posts to go through in\n# the feed, pass the '-p <number of posts>' option; the default is 200.\ninstarchive feed\n```\n\nBy default, the archive is located at the `instarchive` directory under the\nhome directory of the current OS user. This location can be changed by passing\nthe `-d <path to archive directory>` option to `instarchive`.\n\nRun `instarchive [optional command name] --help` for usage information.\n\n## Disclaimer\n\nAs with Instaloader itself, Instarchive is independent of and unsupported by\nInstagram. Use at your own risk, and be wary of ratelimits.\n",
"bugtrack_url": null,
"license": null,
"summary": "CLI tool for collecting and archiving data from Instagram users with Instaloader.",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/Expertcoderz/instarchive",
"Issues": "https://github.com/Expertcoderz/instarchive/issues",
"Repository": "https://github.com/Expertcoderz/instarchive.git"
},
"split_keywords": [
"instagram",
" instagram-scraper",
" instagram-client",
" instagram-feed",
" downloader",
" videos",
" photos",
" pictures",
" instagram-user-photos",
" instagram-photos",
" instagram-metadata",
" instagram-downloader",
" instagram-stories"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c2bc197e8bbd222d0b096180a362e34754b56b88a4c735be8c7ee63d3f82e7d3",
"md5": "6f1d0f37156092973ef69a45e5e3a56e",
"sha256": "947a53f342ee4eeeb832dd80b8cfdb112ea7dc334c91bee5b64c708769a575c8"
},
"downloads": -1,
"filename": "instarchive-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6f1d0f37156092973ef69a45e5e3a56e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 6976,
"upload_time": "2024-07-02T16:24:08",
"upload_time_iso_8601": "2024-07-02T16:24:08.242569Z",
"url": "https://files.pythonhosted.org/packages/c2/bc/197e8bbd222d0b096180a362e34754b56b88a4c735be8c7ee63d3f82e7d3/instarchive-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f65dc011e7ab7fe234a021513da0f76f2b6b083e037a85ecf7f385b5113d2885",
"md5": "ede0f50d272b231634d1b531a8233ca2",
"sha256": "b278aad30fb546018602406e15c171dc854ea9ea3871be08d151e67618a29b87"
},
"downloads": -1,
"filename": "instarchive-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "ede0f50d272b231634d1b531a8233ca2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 6694,
"upload_time": "2024-07-02T16:24:10",
"upload_time_iso_8601": "2024-07-02T16:24:10.083884Z",
"url": "https://files.pythonhosted.org/packages/f6/5d/c011e7ab7fe234a021513da0f76f2b6b083e037a85ecf7f385b5113d2885/instarchive-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-02 16:24:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Expertcoderz",
"github_project": "instarchive",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "instarchive"
}