KL
May 4, 2017, 5:02 p.m.

Парсинг выдачи xml.yandex.ru при помощи Qt

Добрый день. Необходимо спарсить xml документ.

 QUrl url;
   
url.setUrl("https://yandex.ru/search/xml?user=***********&key=**************&query=платные%комментарии&lr=193");
 request.setUrl(url);
    manager.get(request);
Не парсится документ, когда ввожу в поисковую строку, запрос срабатывает.
2

Do you like it? Share on social networks!

7
KL
  • May 4, 2017, 5:04 p.m.

Выдает следующий результат:

<yandexsearch version="1.0">
<response date="20170504T105514">
<error code="32">Лимит запросов исчерпан у пользователя desperadoua</error>
</response>
</yandexsearch>
    Evgenii Legotckoi
    • May 4, 2017, 5:11 p.m.

    Ну по ходу вас забанили на сегодня ))) Больше ничем не могу объяснить такой результат. Видимо, yandex не любит автоматизированные системы. Может есть специальное JSON API у Яндекса, которое даст необходимый выхлоп?

      KL
      • May 4, 2017, 5:14 p.m.

      Я сегодня только активировался, завтра будет доступно 60 запросов, вы могли бы меня обнадежить_) . Я думал получит xml документ, в котором будет это написано. Попробую завтра наладить. Кстати, нашел сервис по созданию запросов https://xml.yandex.ru/test/, возможно пригодится.

        Evgenii Legotckoi
        • May 4, 2017, 5:19 p.m.

        Ну как бы это здесь и написано:

        <yandexsearch version="1.0">
        <response date="20170504T105514">
        <error code="32">Лимит запросов исчерпан у пользователя desperadoua</error>
        </response>
        </yandexsearch>

        Иначе я и не мог интерпретировать эту ошибку.

          KL
          • May 4, 2017, 5:21 p.m.

          Мне программа выдает ошибку, а я думал получить строку с Яндекс ограничением.

            Evgenii Legotckoi
            • May 4, 2017, 5:27 p.m.
            • The answer was marked as a solution.

            Значит вместе с таким XML отдаётся код ошибки отличный от кода 200. Например, доступ запрещён (код 403). QNetworkAccesManager расценивает код 403 как ошибку.

              Evgenii Legotckoi
              • May 4, 2017, 9:47 p.m.

              Вот, кстати, несколько недель руки не доходили дописать статью по ошибкам QNetworkAccessManager . Там мои мысли насчёт того, какие ошибки могут возникать при каких условиях.

                Comments

                Only authorized users can post comments.
                Please, Log in or Sign up
                • Last comments
                • AK
                  April 1, 2025, 11:41 a.m.
                  Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                • Evgenii Legotckoi
                  March 9, 2025, 9:02 p.m.
                  К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                • VP
                  March 9, 2025, 4:14 p.m.
                  Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                • ИМ
                  Nov. 22, 2024, 9:51 p.m.
                  Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                • Evgenii Legotckoi
                  Oct. 31, 2024, 11:37 p.m.
                  Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup