Загрузка...

PLAYWRIGHT как обойти защиту

Тема в разделе Python создана пользователем eveline 10 май 2025. 170 просмотров

Загрузка...
  1. eveline
    eveline Автор темы 10 май 2025 315 9 ноя 2024
    есть код
    Python
    import asyncio
    from playwright.async_api import async_playwright
    from playwright_stealth import stealth_async


    async def main():
    async with async_playwright() as playwright:
    browser = await playwright.chromium.launch(headless=False)

    context = await browser.new_context()

    page = await context.new_page()

    await stealth_async(page)

    await page.goto("https://www.gate.io/announcements/article/44882/")

    await page.wait_for_load_state("networkidle")

    await asyncio.sleep(100)

    await page.screenshot(path="nowsecure_success.png")

    element = await page.query_selector_all("h1")
    if element:
    text_content = await element.inner_text()
    print(text_content)

    await browser.close()


    asyncio.run(main())
    на сам сайт, https://www.gate.io/ заходит спокойно, всё грузит. НО как пытаешь зайти на статью, выводит вот так:
    [IMG]


    текст самой статьи он не грузит, как блять мне нормально загрузить всё?
     
  2. Ukral
    убери playwright_stealth
     
  3. противоположник
    devtools > network > xhr
    найди апи запрос, который возвращает текст статьи
    сделай этот запрос напрямую через playwright апи или aiohttp
     
    10 май 2025 Изменено
    1. противоположник
      тебе не нужно рендерить всю страницу, если текст загружается отдельным запросом через js. ты можешь имитировать этот запрос напрямую, быстрее и стабильнее
  4. wDude
    wDude 10 май 2025 Боюсь быть не там и не тем. 3668 14 авг 2017
    На первый взгляд как будто достаточно сделать просто GET запрос на страницу с артиклом (без использования браузера).

    Далее получить содержимое скрипта в формате Json по xPath:
    Код
    //*[@id="__NEXT_DATA__"]
    И просто распарсить нужные данные из Json.

    Такое работает в Postman, но возможно спустя определённое число реквестов что-то пойдёт не по плану, этого я не проверил.
     
  5. Stalkie
    Stalkie 10 май 2025 100 8 апр 2017
    Никакой защиты нет, просто не нужно юзать селениум. В подобном парсинге он не нужен и только вызывает гемор. Просто делай напрямую запрос на апишку и получай то что нужно, это удобнее и стабильнее.
     
    1. eveline Автор темы
      Stalkie, я даун, я когда парсил статьи, добавлял лишний / из-за этого.
      сорян за тупоц вопрос :ehh:
Top