Pre-release
This release is a pre-release and may not be stable for production use.
AsyncHcaptcha
Installing
Python 3.7 or higher and chrome with chromedriver are required
pip install async-hcaptcha
Example
from async_hcaptcha import AioHcaptcha
from async_hcaptcha.utils import getUrl
async def getAnswers(question, tasklist):
from os import makedirs
makedirs("captcha_images")
answers = {}
tl = {str(i): list(tasklist.keys())[i] for i in range(len(tasklist.keys()))}
for i, k in tl.items():
with open(f"captcha_images/{i}.jpg", "wb") as f:
f.write(await getUrl(tasklist[k], False))
print(question)
print("Answer with true/false or 1/0:")
for i, uuid in tl.items():
ans = input(f"{i}? ").lower()
if ans in ("1", "true"):
answers[uuid] = "true"
else:
answers[uuid] = "false"
return answers
async def main():
solver = AioHcaptcha("a5f74b19-9e45-40e0-b45d-47ff91b7a6c2", "https://accounts.hcaptcha.com/demo",
{"executable_path": "chromedriver.exe"}, getAnswers)
resp = await solver.solve()
print(resp)
if __name__ == "__main__":
from asyncio import get_event_loop
get_event_loop().run_until_complete(main())
Automatically solved example
from async_hcaptcha import AioHcaptcha
async def main():
solver = AioHcaptcha("a5f74b19-9e45-40e0-b45d-47ff91b7a6c2", "https://accounts.hcaptcha.com/demo",
{"executable_path": "chromedriver.exe"})
resp = await solver.solve()
print(resp)
if __name__ == "__main__":
from asyncio import get_event_loop
get_event_loop().run_until_complete(main())
Captcha with rqdata example
from async_hcaptcha import AioHcaptcha
async def main():
solver = AioHcaptcha("a5f74b19-9e45-40e0-b45d-47ff91b7a6c2", "https://accounts.hcaptcha.com/demo",
{"executable_path": "chromedriver.exe"})
resp = await solver.solve(custom_params={"rqdata": "xHJHshn3p71FcYoVCW5zA3m2CFw59JXBecFaR2l90z/NjjoYaXq2FBTi05LPnOX1v/MwStZg9DZKQA4f4ExkDjwlMaS3AKGIrcb2rUKsg8nDI9IaXEFDAhWqvuuCuaW3urxO2J1B/NEkfS938O58cqrE00aPILCQPUHVU1l/Ek8"})
print(resp)
if __name__ == "__main__":
from asyncio import get_event_loop
get_event_loop().run_until_complete(main())
TODO
- Make hsw solving without selenium
Async-hcaptcha uses code from hcaptcha-challenger and py-hcaptcha.
Metadata
Release files for async-hcaptcha 1.0.0b11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| async-hcaptcha-1.0.0b11.tar.gz | 14.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| async_hcaptcha-1.0.0b11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.7 kB
Release files / async-hcaptcha-1.0.0b11.tar.gz
| Download URL | async-hcaptcha-1.0.0b11.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e9da22fa0786fd6c7915b50713b598129a34746bfff12380d342d9a21d267f1
|
|
BLAKE2b-256 checksum How to use checksums |
4cc38056d9732f0a529a16d8765ef4bf1ce0211e16e04bd08c42356e676abd14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.5.0 pkginfo/1.7.1 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.0
|
Release files / async_hcaptcha-1.0.0b11-py3-none-any.whl
| Download URL | async_hcaptcha-1.0.0b11-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d8db113af1452b9d96359d9d84a8524f4435198f51748b6c46945e0b16c6585
|
|
BLAKE2b-256 checksum How to use checksums |
25addddddc408c2c403b672335fbbc6065f57fcab90fc3da14b18f56f8efb1c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.5.0 pkginfo/1.7.1 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.0
|