Загрузка...

Парсер youpin898. Python антидетект

Тема в разделе Python создана пользователем strelok_cccp 31 июл 2025 в 14:46. 84 просмотра

  1. strelok_cccp
    strelok_cccp Автор темы 31 июл 2025 в 14:46 1 16 июн 2022
    Коротко о ситуации:
    Я ручками захожу на сайт, беру curl нужного запроса, использую заголовки, полученные из curl и спокойно получаю 25-30 пачек данных, но а мне же нужно пропарсить весь сайт, условно 24000 предметов. То есть это мне нужно собрать около тысячи рабочих заголовков, по которым будет производиться парсинг.

    Но вот проблема - юпин детектит парсер:
    Какие бы заголовки я не сделал, юпин не пропускает их от слова совсем. То есть даже нет никакого лимита, а сразу 429 с первого запроса. При этом сгенерированные заголовки проходят проверку на антидетект браузер от intoli.com/.


    Мои гипотезы:
    1. Сайт динамически меняет заголовки
    2. Сайт детектит, был ли я на нём, и только тогда даёт добро на получение информации. Что интересно, я получил заголовки и закрыл сайт, а далее, спустя 12 часов я мог использовать эти заголовки для парсинга. То есть возможно сессия живучая просто.
    3. Бан происходит не по IP, потому что я могу открыть инкогнито вкладку и там всё работает, и заголовки с инкогнито тоже рабочие соответственно.
    4. Мне кажется что сайт как-то пингует меня, возможно он смотрит, получил ли я какие-то данные или что-то другое, например отработала ли какая-то функция, и только тогда он разрешает набору заголовков получать данные.

    Подскажите, пожалуйста, как обойти детект) Могу созваониться, на демке показать.
     
  2. AS7RID
    AS7RID 31 июл 2025 в 15:14 в статус ставить - https://t.me/Kanalchik_alexa :rooster_talk: 13 859 11 июн 2019
    Нужно обязательно уазать хидеры platform и uk. Platform всегда фиксированный, uk генерируется в wasm'е, а его я дебажить не готов
    Python
    import httpx
    import asyncio

    async def main():
    client = httpx.AsyncClient()

    response = await client.post(
    "https://api.youpin898.com/api/homepage/pc/commodity/page",
    headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0",
    "Accept": "application/json",
    "uk": "5FN5XveCMWGtOedUegKwVGb9gcr55SiXam21R7NxBhzimOrNb9VzQQxYdqZsKPV1N",
    "platform": "pc",


    },
    json={
    "gameId": 730,
    "businessType": 30,
    "pageSize": 20
    }
    )
    print(response.text)
    print(response)

    if __name__ == "__main__":
    asyncio.run(main())
     
    31 июл 2025 в 15:14 Изменено
  3. ФРУТС
    ФРУТС 31 июл 2025 в 16:52 <3 jenna ortega E> 543 7 фев 2023
    я думаю сайт смотрит твой fingerprint и уникальный токен
    посмотри как он генерирует тебе токены когда ты просто клацаешь новые сессии
    если найдешь закономерность, сам сможешь их генерировать
     
    1. strelok_cccp Автор темы
Top
Загрузка...