Ответы пользователя по тегу Scrapy
  • Как отправить прямой запрос с помощью requests Python?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Добавлять другие заголовки, как вариант. Но если создателю сайта захотелось бы защититься от подобных запросов, то это делается в пол строки одним из кучи способов, и тогда уже никакие заголовки не помогут. Как вариант - попробовать selenium, но не факт, что будет работать, он тоже детектится очень быстро
    Ответ написан
    Комментировать
  • Как обходить капчу при парсинге или не допустить ее появления?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    как их например интегрировать в код

    Регистрируетесь в понравившемся сервисе, сервис предоставляет свой API для работы, возможно сразу и готовая библиотека имеется. Читаете документацию, смотрите примеры. В основном работа выглядит так - отправляете запрос на нужный вам сайт, 0.6$ звучит дёшево для гугла, так что предположим что это обычная картинка, так что в данном случае парсите ссылку на картинку капчи. В соответствии с документацией составляете запрос на сервер решения капчи, в тело запроса уже будет входить ссылка на картинку (либо sitekey, в случае гугла, либо любые другие данные для конкретной капчи), указываете тип капчи, использование прокси и тд. Отправляете запрос на сервис, он вернёт какой нибудь номер задачи. Далее уже отправляете запрос на эндпоинт с результатами решения и передаёте на него номер задачи. Там уже сервис вернёт какой-то статус, и если решение готово - пришлёт ответ. Далее этот ответ уже просто нужно будет вложить в нужное место ваших запросов на сайт. В общем, сферический сервис по решению капчи так и работает.
    Лучше зарегистрироваться на сервисе и посмотреть API доку, все станет понятно
    Ответ написан
    3 комментария
  • Какие параметры POST отправить для получения ответа?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ну скопируйте данные из браузера и вставьте в код . ctrl+c ctrl+v задача

    data = {"carIds":["06a638ab-94b0-4bc7-93c4-d7587b024c77","4cbc03a9-3a4a-478b-8dea-71fe75e2b4ec","7d6a26c9-1e57-4f80-8a06-084bbefaa696","c6f9abd0-d20f-4082-a2bc-1b20f945d0b6","084c175e-e04a-4b47-aaeb-51675284ed84","fa3b0d28-a06d-4bac-bee7-7a56ab5fa829","8c8eba93-f1fa-4f01-ab37-c9a7a2a9f52a","d17b1964-e2a8-4544-afc4-df88ae683ce8","32b960f3-7297-4f90-a06b-6ad8bfe47115","df7b4fc7-f5aa-4a21-9b1b-9700981be14b","3ee17ea7-1654-49b4-9935-4851321fb199","3a3862fe-eb2b-4eec-b640-b9581698ce3b","9be428b5-d035-4384-8936-afa0463e69b3","e0f66af8-eaea-4ba0-a0fe-108fd0cb2aeb","6b9f0304-d4f6-423e-97d0-7799f55a4e0c","90e87e68-37ea-401d-96be-ba9d9783bcd7","d902b121-cb46-4e1e-9b28-53f706ae4b8d","34f18e6c-bf90-42c6-9703-69edc8d4b92b","94baba92-a805-4d8f-a330-2571907afc5e","95f51df1-0746-4bf7-947f-9c9baafae68e"]}
    
    r = requests.post('https://www.auto.de/service/user-actions/api/v1/stats/viewers',  headers=headers, json=data)
    r = r.json()
    
    print(r)


    И в этом случае не нужно дополнительно передавать content-type и content-length, requests их сам добавит в заголовки
    Ответ написан
  • Как получить информацию которую передает ajax?

    SoreMix
    @SoreMix
    yellow
    Скопируйте полностью запрос, а не только URL. В данном случае, нужен заголовок X-Requested-With

    import requests
    
    url = "http://mozgoboy.ru/ajax?action=get/rating&city=5&season=all&league=1&search_team_name=&_=1610204052611"
    
    headers = {
      'X-Requested-With': 'XMLHttpRequest'}
    
    response = requests.request("GET", url, headers=headers)
    
    print(response.text)
    Ответ написан
    1 комментарий
  • Как спарсить динамический контент силами scrapy?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Скролл - нет, это ведь не браузер.
    Открывайте инструменты разработчика на F12, открываете вкладку Network, прокручиваете страницу, смотрите, какие запросы отправились для получения новых изображений, скорее всего они будут во вкладке XHR. И повторяете их через python
    Ответ написан
    Комментировать
  • Scrapy, как перехватить исключение?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Файл во время работы удаляется что ли? Он же с режимом w
    Ответ написан
  • Scrapy парсит не ту страницу?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Посмотрите откуда берутся данные. Там GET подобного вида
    https://steamcommunity.com/market/search/render/?q...
    с замечательным JSON в виде ответа.
    В цикле быстрей перебрать будет, и вид сразу готовый
    Ответ написан
    Комментировать