@FaustGette

В браузере ответ от ресурса один, в скрипте – другой. Почему?

Делаю запрос через браузер, копирую url: https://processing.ruscorpora.ru/search.xml?env=al...

Разбираю его на теги
params = {}
for tag in full_url.split('&'):
    key, val = tag.split('=')
    params[key] = val


Делаю запрос через
res = requests.get(url, params=params)

И получаю пустую страницу:
5f282a2fec1be519931642.png

Однако стоит только убрать gramm1=acc%2C+sg из параметров, как результат на странице появляется. Причём, если у gramm1 только одно значение, то результат есть: gramm1=acc, например.

Что это такое, почему это возникает и как это убрать? Появилось пару дней назад, до этого всё работало хорошо.
Заранее спасибо за помощь!
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Вообще, у меня все работает.
Однако странно видеть запрос с передачей параметров через params.
Ну и первый параметр от url отделяется не амперсандом, а знаком вопроса.
Распечатайте params, увидите, что там такое
{'https://processing.ruscorpora.ru/search.xml?env': 'alpha', 'api': '1.0', 'mode': 'main', 'sort': 'i_grtagging', 'lang': 'ru', 'nodia': '1', 'text': 'lexgramm', 'lex1': '%D0%BA%D0%BE%D1%80%D0%BF%D1%83%D1%81', 'gramm1': 'acc%2C+sg'}


Отсюда два вопроса
1. Вы как-то дополнительно изменяете параметры, удаляя лишние значения?
2. Почему не сделать просто запрос на full_url сразу?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы