Skip to main content

"Pure Python, lightweight, Pillow-based solver for the Amazon text captcha."

Project description

The motivation behind the creation of this library is taking its start from the genuinely simple idea: "I don't want to use pytesseract or some other non-amazon-specific OCR services, nor do I want to install some executables to just solve a captcha. I desire to get a solution with 2 lines of code without any heavy add-ons, using a pure Python."


Pure Python, lightweight, Pillow-based solver for Amazon's text captcha.

Accuracy Timing Size Version Python version Downloads

Recent News

  • May 5, 2023: tested and approved compatibility with Pillow 9.5.0
  • January 25, 2022: tested and approved compatibility with Python 3.10
  • January 25, 2022: dropped support for Python 3.6

Installation

You can simply install the library from PyPi using pip. For more methods check the docs.

pip install amazoncaptcha

Quick Snippet

An example of the constructor usage. Scroll a bit down to see some tasty class methods. For consistency across different devices, it is highly recommended to use fromlink class method.

from amazoncaptcha import AmazonCaptcha

captcha = AmazonCaptcha('captcha.jpg')
solution = captcha.solve()

# Or: solution = AmazonCaptcha('captcha.jpg').solve()

Status

Status Build Status Documentation Status Code Coverage CodeFactor Grade

Usage and Class Methods

Browsing Amazon using selenium and stuck on captcha? The class method below will do all the dirty work of extracting an image from the webpage for you. Practically, it takes a screenshot from your webdriver, crops the captcha and stores it into bytes array which is then used to create an AmazonCaptcha instance. This also means avoiding any local savings. For consistency across different devices, it is highly recommended to use fromlink class method instead of fromdriver.

from amazoncaptcha import AmazonCaptcha
from selenium import webdriver

driver = webdriver.Chrome() # This is a simplified example
driver.get('https://www.amazon.com/errors/validateCaptcha')

captcha = AmazonCaptcha.fromdriver(driver)
solution = captcha.solve()

If you are not using selenium or the previous method is not just the case for you, it is possible to use a captcha link directly. This class method will request the url, check the content type and store the response content into bytes array to create an instance of AmazonCaptcha.

from amazoncaptcha import AmazonCaptcha

link = 'https://images-na.ssl-images-amazon.com/captcha/usvmgloq/Captcha_kwrrnqwkph.jpg'

captcha = AmazonCaptcha.fromlink(link)
solution = captcha.solve()

In addition, if you are a machine learning or neural network developer and are looking for some training data, check this repository, which was created to store images and other non-script data for the solver.

Help the Development

If you are willing to help the development, consider setting keep_logs argument of the solve method to True. Here is the example, if you are using fromdriver class method. If set to True, all the links of the unsolved captcha will be stored so that later you can open the issue and send the logs.

from amazoncaptcha import AmazonCaptcha
from selenium import webdriver

driver = webdriver.Chrome() # This is a simplified example
driver.get('https://www.amazon.com/errors/validateCaptcha')

captcha = AmazonCaptcha.fromdriver(driver)
solution = captcha.solve(keep_logs=True)

If you have any suggestions or ideas of additional instances and methods, which you would like to see in this library, please, feel free to contact the owner via email or fork'n'pull to repository. Any contribution is highly appreciated!

"Buy Me A Coffee"

Additional

  • If you want to see the History of Changes, Code of Conduct, Contributing Policy, or License, use these inline links to navigate based on your needs.
  • If you are facing any errors, please, report your situation via an issue.
  • This project is for educational and research purposes only. Any actions and/or activities related to the material contained on this GitHub Repository is solely your responsibility. The author will not be held responsible in the event any criminal charges be brought against any individuals misusing the information in this GitHub Repository to break the law.
  • Amazon is the registered trademark of Amazon.com, Inc. Amazon name used in this project is for identification purposes only. The project is not associated in any way with Amazon.com, Inc. and is not an official solution of Amazon.com, Inc.

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

amazoncaptcha-0.5.11.tar.gz (878.3 kB view details)

Uploaded Source

Built Distribution

amazoncaptcha-0.5.11-py3-none-any.whl (937.5 kB view details)

Uploaded Python 3

File details

Details for the file amazoncaptcha-0.5.11.tar.gz.

File metadata

  • Download URL: amazoncaptcha-0.5.11.tar.gz
  • Upload date:
  • Size: 878.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for amazoncaptcha-0.5.11.tar.gz
Algorithm Hash digest
SHA256 1938e977ebebd83d83cc01478a705f2ecf0d0c5d1189924ff954ee973c25337e
MD5 dd78943f8c0f99110f52c8e91345d259
BLAKE2b-256 9a7accd80836e99ca72d23368e6d5210a34f34793de33da866f23c7931bbe7b5

See more details on using hashes here.

File details

Details for the file amazoncaptcha-0.5.11-py3-none-any.whl.

File metadata

  • Download URL: amazoncaptcha-0.5.11-py3-none-any.whl
  • Upload date:
  • Size: 937.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for amazoncaptcha-0.5.11-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6d33154fc0238ca0d794a02289cff154fc8a0ec64243c36951558bbb7da1de
MD5 bf8f852cc08bc032a8b947792d87b679
BLAKE2b-256 a8d36aec247ecede99ca3f591a9d5e6e581d1e73f5a5b3a66b2c4abfb672c2d2

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