CAPTCHA stands for Completely Automated Public Turing test to tell Computers and Humans Apart. As the acronym suggests, it is a test to determine whether the user is human or not. A typical CAPTCHA consists of distorted text, which a computer program will find difficult to interpret but a human can (hopefully) still read.
Many websites use CAPTCHA to prevent bots from interacting with their website. For example, my bank website forces me to pass a CAPTCHA everytime I log in, which is a pain. This chapter will cover how to solve CAPTCHAs automatically, first through Optical Character Recognition (OCR) and then with a CAPTCHA solving API.
In this chapter, we will cover the following topics:
- Solving CAPTCHAs
- Using a CAPTCHA service
- Machine learning and CAPTCHAs
- Reporting errors