Skip to main content

A simple library for managing an Instagram bot as a web application.

Project description

InstaBot

InstaBot is a Python library that provides some automation for simple tasks on Instagram like following accounts and sending DMs on Instagram using Selenium. Please note that this library is not associated with Instagram or Meta.

Installation

You can install the library from the GitHub repository or by using pip:

pip install InstaWebBot

Usage

IMPORTANT (version older than 0.3.0): The driver file for Selenium must be located in the current working directory of your project. You can download the driver here. Please provide the driver name if you are not using the recommended geckodriver.

Initialize the bot by passing in your Instagram username and password as parameters:

from InstaWebBot import InstaBot
bot = InstaBot('your_username', 'your_password')

# A bot login is required before any other action will be executed.
bot.login()

Here is an example with some optional arguments (using their default value if default exists):

from InstaWebBot import InstaBot

bot = InstaBot('your_username', 'your_password',
               driver="geckodriver",
               output=False,
               time=2.5)

To log in to Instagram with the given username and password use

bot.login()

Once you have created an instance of the InstaBot class, you can use its methods to automate some simple tasks on Instagram.

Functions

Search for a username by using

bot.search(query)

After that you can perform various actions on a user profile:

bot.follow()
bot.unfollow()
bot.send_dm(message)
bot.get_followers()
bot.get_picture(number)
bot.get_likes()
bot.get_liked_by()
bot.like_picture()
bot.write_comment(message)

It is also possible to get data from the profile once it has been searched with bot.search(query):

user_data = bot.get_data('instagram')
# user_data contains various counters as well as a link to the profile picture, homepage and bio
print(f"Follower count of @instagram: {user_data['followers']}")

This is a small example program to get 50 followers of a given profile (50 is the maximum amount, because Instagram limits the visibility of followers/following lists):

from InstaWebBot import InstaBot

bot = InstaBot('username', 'password')
bot.login()
bot.search('instagram')
followers = bot.get_followers()
for follower in followers:
    print(follower)
bot.close()

Future functionality:

  • Get follower and following counter
  • Get post counter
  • Allow commenting on posts
  • Send direct messages to user
  • Like different images than just the first image
  • Download images
  • Update .get_data() function
  • Improve general usability

LICENSE

InstaBot is licensed under the GNU General Public License v2.0.

Help & Contribution

If you find an error please feel free to open an issue 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

InstaWebBot-0.3.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

InstaWebBot-0.3.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file InstaWebBot-0.3.0.tar.gz.

File metadata

  • Download URL: InstaWebBot-0.3.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for InstaWebBot-0.3.0.tar.gz
Algorithm Hash digest
SHA256 da5cec765930ab5b581c29400f3cc3f0994f0073fb4b4b6950bbb69761bac6bd
MD5 c8a8de2d6b353878c3e3e5a2bfabc16b
BLAKE2b-256 9b3653fd52189fb865ea8cb0287521c61fcda672a93923a6022d0ea2b2039596

See more details on using hashes here.

File details

Details for the file InstaWebBot-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: InstaWebBot-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for InstaWebBot-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08c44672d8385117c032ebbcb8a88c34c48d109d51326516c73f0625ea917a53
MD5 645c2e1060abfeb2a0f7bdb4be25e968
BLAKE2b-256 6e538e24f8a34c38aba26b4f5524e1206b32c9dd4abefd3a6bd10c9d393f9ec2

See more details on using hashes here.

Supported by

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