Skip to main content

scrapes medias, likes, followers, tags and all metadata

Project description

instagram_scraper

This is a minimalistic Instagram scraper written in Python.

It can fetch media, accounts, videos, comments etc. `Comment` and `Like` actions are also supported.

It is not easy to get Applications approved for Instagram's API therefore I created this tool inspired by instagram-php-scraper.

The goal of this project is to become as minimalistic as possible while still having all the needed functionality so that its easy to add code to it!

Any ⭐️ or contribution is appreciated if you like the project 🤘

How to install

Simply run:

pip install igramscraper

or download the project via git clone and run the following:

pip install -r requirements.txt

Usages

Some methods do require authentication:

from igramscraper.instagram import Instagram

instagram = Instagram()

# authentication supported
instagram.with_credentials('username', 'password')
instagram.login()

#Getting an account by id
account = instagram.get_account_by_id(3)

# Available fields
print('Account info:')
print('Id: ', account.identifier)
print('Username: ', account.username)
print('Full name: ', account.full_name)
print('Biography: ', account.biography)
print('Profile pic url: ', account.get_profile_pic_url_hd())
print('External Url: ', account.external_url)
print('Number of published posts: ', account.media_count)
print('Number of followers: ', account.followed_by_count)
print('Number of follows: ', account.follows_count)
print('Is private: ', account.is_private)
print('Is verified: ', account.is_verified)

# or simply for printing use 
print(account)

If you use authentication, the program will cache the user session by default so one doesn't need to create session every time.
If one want to disable the user session cache, assign True to Instagram.login() method

Two Factor Authentication is also supported through cli interface, simply use 'True' for second argument of login() function

Many of the methods do not require authentication

for more info browse through the examples folder

Using proxy for requests:

from igramscraper.instagram import Instagram 

proxies = {
    'http': 'http://123.45.67.8:1087',
    'https': 'http://123.45.67.8:1087',
}

instagram = Instagram()
instagram.set_proxies(proxies)

account = instagram.get_account('kevin')
print(account.identifier)

Recommended Limits

If you make too many requests too fast you will get a 429 Error or something similar.

  • It is recommended to make a short break between each request of 30s (+- random)
  • In between all 10 requests a long break (300-600s)

If different proxies and accounts are used for all requests and the circle doesn't repeat too fast these limits don't apply ;)

Feel free to make your own tests and let us know of any limits you experienced

More usages

See examples here.

How to contribute

Every contribution is welcome, check out our TODOs
and join our telegram group: https://t.me/joinchat/J86yTBAtZlEi-6T6LOxijw

Other

instagram-php-scraper here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

igramscraper-0.3.5.tar.gz (24.4 kB view details)

Uploaded Source

File details

Details for the file igramscraper-0.3.5.tar.gz.

File metadata

  • Download URL: igramscraper-0.3.5.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for igramscraper-0.3.5.tar.gz
Algorithm Hash digest
SHA256 8924ef67d0d2dfea20f7cface656b9a9ba75fdc7208ae74e03b275d24f0ce98f
MD5 62f305509a241c7c853cfc225e9fb9e3
BLAKE2b-256 1ceff86b3ed24902305a0b4d318ecc78b86c168fc4979814fd31ce8dfa6278cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page