SyntaxError: неверный синтаксис, python, API запроса - PullRequest
0 голосов
/ 24 апреля 2018

Я учусь, как программно запрашивать API, используя python.Я могу пройти проверку подлинности по API и получить ответ 200.

Когда я передаю такие параметры:

parameters = {"q": "serial_number:actual_serial"}

, а затем print(response.text) я получаю данные, которые ожидаю.

Когда я передаю такие параметры, как:

parameters = {"q": "serial_number:actual_serial"&"rows=5"}

, я получаю:

    parameters = {"q": "serial_number:actual_serial"&"rows=5"}
TypeError: unsupported operand type(s) for &: 'str' and 'str'

и при попытке использовать запятую:

parameters = {"q": "serial_number:actual_serial", "rows=5"}

Я получаю

    parameters = {"q": "serial_number:actual_serial", "rows=5"}
                                                              ^
SyntaxError: invalid syntax

Так что я неправильно форматирую вторую часть параметров.Чего мне не хватает?

Я использую python3.4

Когда я запрашиваю веб-API для того же запроса, я получаю URL-адрес: https://.......?q=state%3APENDING_DESTRUCTION&rows=5&...... (извините, запутываетURL).

1 Ответ

0 голосов
/ 24 апреля 2018

Это не действительный Python, нет. Вы должны предоставить key: value пары в словаре, разделенные запятыми. В вашем втором разделе после запятой нет пары key: value.

Если row - это другой параметр со значением 5, поместите его в словарь Python как пару ключ-значение:

parameters = {"q": "serial_number:actual_serial", "row": 5}

Библиотека requests затем конвертирует этот словарь в правильную строку запроса URL.

...