https://github.com/a2liu/instabot
A basic, mildly unreliable bot for Instagram, made using the Selenium API
https://github.com/a2liu/instabot
bot instagram java russian-spy selenium selenium-java wip
Last synced: about 1 month ago
JSON representation
A basic, mildly unreliable bot for Instagram, made using the Selenium API
- Host: GitHub
- URL: https://github.com/a2liu/instabot
- Owner: a2liu
- Created: 2018-05-18T04:21:05.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-09T21:31:22.000Z (almost 8 years ago)
- Last Synced: 2025-06-13T16:37:30.950Z (12 months ago)
- Topics: bot, instagram, java, russian-spy, selenium, selenium-java, wip
- Language: Java
- Homepage: https://www.instagram.com/
- Size: 24.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# InstaBot
This is an Instagram bot built using the Selenium API. It includes basic functionality for a personal account, and right now, it doesn't try to expand user sphere of influence whatsoever. It simply likes posts in the feed and checks on some information. Later versions might have some of that more intense stuff, but for now this is all it does.
## Setup
Using the FunctionalBot requires only a username and password. If you're using mac, you can quickly enable this bot by first enabling 'develop menu' in preferences, then selecting 'allow remote automation'.
For non-Mac users, and for blind-haters of Safari, use the instructions at this [link](http://toolsqa.com/selenium-tutorial/) to set up Selenium correctly.
## Packages
#### Bot Package
The bot package contains most of the logic that the bot employs to perform actions.
- Methods that perform simple tasks like logging in
- Methods that perform a series of simple tasks, like liking lots of posts
- Objects and methods to help set up the bot
#### Instagram Package
The Instagram package contains object wrappers to make parsing through Instagram a little easier.
- Wrapper objects that automatically load pertinent data on instantiation
- Constants that describe locations of objects on the site
#### Main Package
The default package for implementing extensions of the FunctionalBot, and also where the running of the final bot should occur.
## Sources
[**Selenium**](https://www.seleniumhq.org/) - This took a long time to get used to using, but once I figured out some of the basics it got a lot easier -- it's a very powerful API once you understand what methods to copy-paste from StackOverflow.
[**Tools QA Selenium tutorial**](http://toolsqa.com/selenium-tutorial/) - Used this to get a basic grasp of some of the features of Selenium.
[**XPath Tutorial**](https://www.w3schools.com/xml/xpath_intro.asp) - Used this to start to learn XPath.
[**XPath Generator**](https://chrome.google.com/webstore/detail/xpath-generator/dphfifdfpfabhbkghlmnkkdghbmocfeb?hl=en-US) - This made XPath stuff a lot easier to learn. Another alternative is [this](https://chrome.google.com/webstore/detail/chropath/ljngjbnaijcbncmcnjfhigebomdlkcjo/related?hl=en) (both are Chrome extensions).
[**JBrowserDriver**](https://github.com/MachinePublishers/jBrowserDriver) - I couldn't get this to work, so it's not included in the project, but it's a cool potential direction for the future.
[**HTMLUnit**](http://htmlunit.sourceforge.net/) - I'm going to try to use this to remove the 'visible browser' part of the bot.
[**Instagram**](www.instagram.com) - I couldn't have done this project without the HTML, servers, and existence of Instagram.