Поиск надежного скребка или библиотеки Python для обхода Captcha на ecourts.gov.inPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Поиск надежного скребка или библиотеки Python для обхода Captcha на ecourts.gov.in

Сообщение Anonymous »

Я пытаюсь перегружать суждения PDF с https://judgments.courts.gov.in, используя простые запросы , но их встроенная математическая капча продолжает ломать мой трубопровод. I’ve rolled my own solution with easyocr to read the math challenge and a small parser to compute the result, but I still see:

[*]OCR mis-reads (e.g. confusing “×” vs “x”)
[*]Timeouts after solving multiple CAPTCHAs in quick succession
[*]Session-expiration errors Это требует, чтобы я сбросил весь сеанс < /code> < /li>
< /ul>

То, что мой код Captcha-Solver выглядит как < /h3>
Ниже приведена основная функция, которую я использую, чтобы получить изображение Captcha, OT с easyoc, затем оценить простое математическое выражение. Это часто ошибочно экспрессирует символы или возвращает необработанные строки: < /p>

Код: Выделить всё

import re
import requests
import easyocr

ROOT = "https://judgments.ecourts.gov.in"
CAPTCHA_URL = ROOT + "/pdfsearch/vendor/securimage/securimage_show.php"

# Initialize the OCR reader only once
reader = easyocr.Reader(["en"], gpu=False)

def solve_captcha(session: requests.Session) -> str:
"""
1. Download the CAPTCHA image.
2. Pass raw bytes into easyocr for text extraction.
3. Parse the returned string as a simple arithmetic expression.
4. Return the computed result as a string.
"""
# Step 1: fetch image
res = session.get(CAPTCHA_URL, verify=False, timeout=30)
img_bytes = res.content

# Step 2: OCR the contents
ocr = reader.readtext(img_bytes)
if not ocr:
raise RuntimeError("OCR returned no text")

expr = ocr[0][1].strip()  # e.g. "12 × 3"

# Step 3: parse "number operator number"
m = re.match(r"(\d+)\s*([+\-×Xx÷/])\s*(\d+)", expr)
if not m:
raise RuntimeError(f"Unexpected format from OCR: {expr}")

a_str, op, b_str = m.groups()
a, b = int(a_str), int(b_str)

# Step 4: evaluate
if op == "+":   return str(a + b)
if op == "-":   return str(a - b)
if op in ("×","X","x","*"): return str(a * b)
if op in ("÷","/"):         return str(a // b)
raise RuntimeError(f"Unknown operator: {op}")
< /code>

 Как я интегрирую его в свой скребок < /h3>
сразу после решения Captcha, я размещаю ответ на их конечную токну: < /p>


Подробнее здесь: [url]https://stackoverflow.com/questions/79688640/seeking-a-robust-python-scraper-or-library-to-bypass-captcha-on-ecourts-gov-in[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как автоматически заполнить CAPTCHA изображением с помощью веб-скребка в ASP.NET C#? [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как автоматически заполнить CAPTCHA изображением с помощью веб-скребка в ASP.NET C#? [закрыто]
    Anonymous » » в форуме Javascript
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Селен с использованием IA для обхода Canvas Captcha
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Селен с использованием IA для обхода Canvas Captcha
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Селен с использованием IA для обхода Canvas Captcha
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»