Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

🔥 Fast & Reliable Python Package For Instagram API - 2024

License

NotificationsYou must be signed in to change notification settings

diezo/Ensta

Repository files navigation

PyPIPyPI - Python VersionDownloads

Logo

Ensta is a simple, reliable and up-to-date python package for Instagram API.

Bothauthenticated andanonymous requests are supported.

Revive the Project! 🌟

Contribute to ensta and help revive the project for future updates and maintainance.

Installation

Read thepre-requisites here.

pip install ensta

Example

Fetching profile info by username:

fromenstaimportMobilemobile=Mobile(username,password)profile=mobile.profile("leomessi")print(profile.full_name)print(profile.biography)print(profile.profile_pic_url)

Features

These features use theMobile API.

Using Proxies

When to use a proxy:

  • You're being rate limited.
  • Ensta is not working because your Home IP is flagged.
  • You're deploying Ensta to the cloud. (Instagram blocks requests from IPs of cloud providers, so a proxy must be used)
fromenstaimportMobilemobile=Mobile(username,password,proxy={"http":"socks5://username:password@host:port","https":"socks5://username:password@host:port"    })

Ensta uses the same proxy settings as therequests module.

Username-Password Login

Username is recommended to sign in. However, email can also be used.

fromenstaimportMobile# Recommendedmobile=Mobile(username,password)# This also worksmobile=Mobile(email,password)
Change Profile Picture
fromenstaimportMobilemobile=Mobile(username,password)mobile.change_profile_picture("image.jpg")
Fetch Profile Information
fromenstaimportMobilemobile=Mobile(username,password)profile=mobile.profile("leomessi")print(profile.full_name)print(profile.biography)print(profile.follower_count)
Follow/Unfollow Account
fromenstaimportMobilemobile=Mobile(username,password)mobile.follow("leomessi")mobile.unfollow("leomessi")
Change Biography
fromenstaimportMobilemobile=Mobile(username,password)mobile.change_biography("New bio here.")
Switch to Private/Public Account
fromenstaimportMobilemobile=Mobile(username,password)mobile.switch_to_private_account()mobile.switch_to_public_account()
Username to UserID / UserID to Username
fromenstaimportMobilemobile=Mobile(username,password)mobile.username_to_userid("leomessi")mobile.userid_to_username("12345678")
Like/Unlike Post
fromenstaimportMobilemobile=Mobile(username,password)mobile.like(media_id)mobile.unlike(media_id)
Fetch Followers/Followings
fromenstaimportMobilemobile=Mobile(username,password)followers=mobile.followers("leomessi")followings=mobile.followings("leomessi")foruserinfollowers.list:print(user.full_name)foruserinfollowings.list:print(user.full_name)# Fetching next chunkfollowers=mobile.followers("leomessi",next_cursor=followers.next_cursor)
Add Comment to Post
fromenstaimportMobilemobile=Mobile(username,password)mobile.comment("Hello",media_id)
Upload Photo
fromenstaimportMobilemobile=Mobile(username,password)mobile.upload_photo(upload_id=upload_id,caption="Hello")
Upload Sidecar (Multiple Photos)
fromenstaimportMobilefromensta.structuresimportSidecarChildmobile=Mobile(username,password)mobile.upload_sidecar(children=[SidecarChild(uploda_id),SidecarChild(uploda_id),SidecarChild(uploda_id)    ],caption="Hello")
Fetch Private Information (Yours)
fromenstaimportMobilemobile=Mobile(username,password)account=mobile.private_info()print(account.email)print(account.account_type)print(account.phone_number)
Update Display Name
fromenstaimportMobilemobile=Mobile(username,password)mobile.update_display_name("Lionel Messi")
Block/Unblock User
fromenstaimportMobilemobile=Mobile(username,password)mobile.block(123456789)# Use UserIDmobile.unblock(123456789)# Use UserID
Upload Story (Photo)
fromenstaimportMobilemobile=Mobile(username,password)upload_id=mobile.get_upload_id("image.jpg")mobile.upload_story(upload_id)
Upload Story (Photo) + Link Sticker
fromenstaimportMobilefromensta.structuresimportStoryLinkmobile=Mobile(username,password)upload_id=mobile.get_upload_id("image.jpg")mobile.upload_story(upload_id,entities=[StoryLink(title="Google",url="https://google.com")])
Send Message (Text)
fromenstaimportMobilemobile=Mobile(username,password)# Or use emaildirect=mobile.direct()direct.send_text("Hello",thread_id)
Send Message (Picture)
fromenstaimportMobilemobile=Mobile(username,password)# Or use emaildirect=mobile.direct()media_id=direct.fb_upload_image("image.jpg")direct.send_photo(media_id,thread_id)
Add Biography Link
fromenstaimportMobilemobile=Mobile(username,password)# Or use emaillink_id=mobile.add_bio_link(url="https://github.com/diezo",title="Diezo's GitHub")
Add Multiple Biography Links
fromenstaimportMobilefromensta.structuresimportBioLinkmobile=Mobile(username,password)# Or use emaillink_ids=mobile.add_bio_links([BioLink(url="https://example.com",title="Link 1"),BioLink(url="https://example.com",title="Link 2"),BioLink(url="https://example.com",title="Link 3")])
Remove Biography Link
fromenstaimportMobilemobile=Mobile(username,password)# Or use emailmobile.remove_bio_link(link_id)
Remove Multiple Biography Links
fromenstaimportMobilemobile=Mobile(username,password)# Or use emailmobile.remove_bio_links([link_id_1,link_id_2,link_id_3])
Clear All Biography Links
fromenstaimportMobilemobile=Mobile(username,password)# Or use emailmobile.clear_bio_links()

Deprecated Features (Web API)

Features still using theWeb API:

Upload Reel
fromenstaimportWebhost=Web(username,password)video_id=host.upload_video_for_reel("Video.mp4",thumbnail="Thumbnail.jpg")host.pub_reel(video_id,caption="Enjoying the winter! ⛄")
Fetch Web Profile Data
fromenstaimportWebhost=Web(username,password)profile=host.profile("leomessi")print(profile.full_name)print(profile.biography)print(profile.follower_count)
Fetch Someone's Feed
fromenstaimportWebhost=Web(username,password)posts=host.posts("leomessi",100)# Want full list? Set count to '0'forpostinposts:print(post.caption_text)print(post.like_count)
Fetch Post's Likers
fromenstaimportWebhost=Web(username,password)post_id=host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")likers=host.likers(post_id)foruserinlikers.users:print(user.username)print(user.profile_picture_url)

They'll be migrated to theMobile API soon.

Supported Classes

Important

TheWeb Class is deprecated and it's features are being migrated to theMobile Class. It'll be removed from Ensta upon completion.


Mobile Class (Authenticated)

Requires login, and has the most features.

fromenstaimportMobilemobile=Mobile(username,password)profile=mobile.profile("leomessi")print(profile.full_name)print(profile.biography)print(profile.profile_pic_url)

Guest Class (Non-Authenticated)

Doesn't require login, but has limited features.

fromenstaimportGuestguest=Guest()profile=guest.profile("leomessi")print(profile.biography)

Web Class (Authenticated)(Deprecated)
fromenstaimportWebhost=Web(username,password)profile=host.profile("leomessi")print(profile.biography)

Discord Community

Ask questions, discuss upcoming features and meet other developers.

Buy Me A Coffee

Support me in the development of this project.

Contributors

Contributors

Disclaimer

This is a third party library and not associated with Instagram. We're strictly against spam. You are liable for all the actions you take.


[8]ページ先頭

©2009-2025 Movatter.jp