Безголовый браузер драматурга заблокирован Adzuna Land/Ad/Redirect — «Доступ запрещен» — как разрешить цепочку перенапраPython

Программы на Python
Ответить
Anonymous
 Безголовый браузер драматурга заблокирован Adzuna Land/Ad/Redirect — «Доступ запрещен» — как разрешить цепочку перенапра

Сообщение Anonymous »

Я создаю автоматизированную систему подачи заявок на работу. Когда пользователь нажимает «Автоматически подать заявку» в списке вакансий Adzuna, мой сервер должен пройти по цепочке перенаправления к фактической форме заявления работодателя и заполнить ее автоматически.
Списки вакансий Adzuna следуют этой цепочке перенаправлений: Что работает:
  • Переход на страницу сведений об Adzuna с помощью Playwright — работает нормально
  • Извлечение URL-адреса земли/рекламы/ из кнопки «Применить» — работает отлично
  • Прослеживание всей цепочки с помощью Firecrawl (скрытый прокси) — правильно разрешается до конечного URL-адреса Ashby ATS.
Что не получается: каждый метод, который я пытаюсь разрешить, Land/ad/ возвращает страницу «Доступ запрещен», обслуживаемую самой Adzuna (а не Cloudflare — это страница с ошибкой Adzuna):

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

Access Denied
[*]
Попытки на данный момент:
  • Драматург .goto(land_url) — «Доступ запрещен» (200 ОК, бот обнаружен)
  • с заголовками в стиле браузера:[/b]

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

    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...",
    "Accept": "text/html,application/xhtml+xml,...",
    "Accept-Language": "en-AU,en;q=0.9",
    "Referer": "https://www.adzuna.com.au/",
    }
    async with httpx.AsyncClient(headers=headers, follow_redirects=True) as client:
    r = await client.get(land_url)
    # r.url is still adzuna.com/land/ad/... — "Access Denied"
    
  • httpx с файлами cookie сеанса Playwright + правильным реферером (страница сведений была загружена Playwright, поэтому на ней имеются действительные файлы cookie сеанса):

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

    pw_cookies = await page.context.cookies()
    session_cookies = {c["name"]: c["value"] for c in pw_cookies if "adzuna" in c["domain"]}
    # Still "Access Denied"
    
  • Антиобнаружение в контексте драматурга:

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

    browser = await pw.chromium.launch(args=[
    "--disable-blink-features=AutomationControlled",
    ])
    context = await browser.new_context(user_agent="...", locale="en-AU")
    await context.add_init_script("Object.defineProperty(navigator,'webdriver',{get:()=>undefined})")
    # Details page still loads fine, but land/ad/ still blocks
    
Как мне разрешить перенаправление Adzuna Land/ad/ программным способом без использования человеческого браузера? В частности:
  • Поможет ли этот отпечаток TLS (JA3/JA4) — Curl_cffi с impersonate="chrome124"?
  • Есть ли другой способ получить конечный URL-адрес работодателя со страницы сведений HTML/API Adzuna, вообще не проходя через Land/ad/?
  • Кто-нибудь знает, раскрывает ли Adzuna целевой URL-адрес где-либо (JSON-LD, атрибуты данных, ответ XHR) на странице сведений?
Среда: Python 3.11, Playwright 1.44, httpx 0.27, работает без заголовка на Windows Server/локальной разработке.
Ответить

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

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

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

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

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