instascrape is an incredibly lightweight set of tools geared towards scraping Instagram data. It makes no assumptions about your project and is instead designed for flexibility and developer productivity. It is excellent for the seasoned data scientist trying to quickly get an idea of a page's engagement as well as beginners looking to explore web scraping and the beauty of Python for the very first time.
Example of Instagram likes per post data scraped using instascrape (this repository and its author(s) are not affiliated with Real Python)
Install from PyPI using
$ pip3 install insta-scrape
Clone right from Github to your local machine using
$ git clone https://github.com/chris-greening/instascrape.git
Install required dependencies using
$ pip3 install -r requirements.txt
The official documentation can be found on Read The Docs 📰
Representation of an Instagram profile. Calling static_load takes care of requesting and scraping static HTML regarding the given URL or username. Profile.static_load scrapes 36 data points including
Representation of a single Instagram post. Calling static_load takes care of requesting and scraping static HTML regarding the given URL or post shortcode. Post.static_load scrapes 29 data points including
likes: int
amount_of_comments: int
hashtags: List[str]
tagged_users: List[str]
caption: str
location: str
#etc.
Sample code:
from instascrape import Post
url = 'https://www.instagram.com/p/CFcSLyBgseW/'
post = Post(url)
post.static_load()
Representation of an Instagram hashtag page. Calling static_load takes care of requesting and scraping static HTML regarding the given URL or hashtag name. Hashtag.static_load scrapes 10 data points including
amount_of_posts: int
name: str
is_following: bool
allow_following: bool
#etc.
Sample code:
from instascrape import Hashtag
url = 'https://www.instagram.com/explore/tags/python/'
hashtag = Hashtag(url)
hashtag.static_load()
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome!
Feel free to open an Issue or look at existing Issues to get a dialogue going on what you want to see added/changed/fixed!
This repo is participating in Hacktoberfest 2020! I would love for this repo to be a resource to absolute beginners looking to make some of their first contributions. Check out Issues for some easy ideas or open your own with something you want to work on! Please see the official Hacktober FAQ for rules/questions.
Happy hacking!
Reach out to me if you have questions or ideas!