CURRENTLY THIS PROJECT IS NOT UNDER ACTIVE DEVELOPMENT BECAUSE I DON'T HAVE THE RESOURCES TO CONTINUE WORKING ON IT. THIS MEANS THAT DUE TO THE NATURE OF UTILIZED DATA SOURCES IT WON'T WORK OUT OF THE BOX. THE CODE NEED TO BE REVISED TO ADDRESS THE DOM
CHANGES. USE AT YOUR OWN RISK!
-
Change language to English if you can't understand a thing.
-
Add tipsters, add login to broker's website (if you plan to test placing bets) and download tipsters' advices.
-
Make sure to include your API key for external website, otherwise your matches won't be linked to additional source.
-
Create and calculate your strategy
-
Make bet, it should be visible in "Bets" tab.
- Betting from GUI according to selected strategy based on tipster's advices from Betshoot and Hintwise websites (though the latter banned its users recently and replaced them by "best" performing random algorithms, which is basically a scam)
- Statistics and performance analysis with visual feedback
- Calculator of Surebets, Double chances and future stakes
- Currently most of the app has been localized so GUI is available in both English and Polish languages
Application loads data using three different aproaches, the one used with particular website is determined based on its efficiency when retrieving data. Methods are:
- API HTTP Request + JSON Parsing
- Document HTTP Request + HtmlAgility Parsing
- Selenium Webdriver + Selenium Parsing
Though keep in mind that some of them can't be used in some cases. That's why often it is necessary to use slower ones.
Application fully supports Selenium headless mode with Chrome, should you ever need to change this option, it can be achieved from Settings Panel.
The ultimate goal of this software is to automate betting process entirely, so it can be more easily considered as an investment option. For now however you can use it for advanced analysis of tipster performance and betting on supported broker platform.
TODOs:
- Finish English localization (loaders, prompts, errors and unparsed bets are still not localized)
- Use API for converting currencies as I was forced recently to hardcode it to using EUR.
- Write viable replacement for Football-Data API. In this app arbitrary and complete source of information is needed but wrapping 3rd party website using Selenium is time consuming. Ideally I would like to use FlashScore or WhoScored.
- AO often blocks login process or redirects randomly, this is hard to predict and even harder to solve. The website is full of surprising bugs. I implemented numerous walkarounds but you might still be sometimes prompted about inability to login.
- Hintwise probably won't work properly anymore because they removed all their tipsters.
- Sometimes unexpected discipline might cause data loading errors.
- Sometimes discipline might be unlinked from league.
This app is difficult to maintain as it requires a lot of time to constantly improve parsing mechanisms. Even minor change to external website is able to break functionality of the program (Like when Betshoot layout changed slightly in may 2018). I created this project for my Master's degree which I achieved on 12th June 2018. I continued development after that, struggling to find enough time. Therefore, work on the application is suspended until further notice.
Also, I would like to thank all of you for your interest in my project and for suggestions how to make it better. It is an enriching experience for me.