Проблема с поиском в Python - PullRequest
0 голосов
/ 06 июля 2018

У меня есть проблема, которую я не могу решить сама, как кажется, я надеюсь, что у кого-то здесь может быть другая идея, которая может мне помочь.

Мой план состоит в том, чтобы сканировать данные comtrade для нескольких стран и таймфреймов, но даже мой первый звонок не работает. URL-адрес, на который я хочу отправить запрос на получение, - http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M, и если я введу эти данные в почтальоне, я получу правильный ответ с множеством наборов данных, но если я попытаюсь перейти с python, я получу ответ

"{'Message': 'Пустые параметры или нулевые значения недопустимы. Для получения дополнительной информации посетите http://comtrade.un.org/data/doc/api/'}"

вместо этого. API не требует никакой аутентификации, и я не установил никаких заголовков и не сделал никаких других изменений для почтальона, но там это работает.

Пожалуйста, посмотрите на мой код и скажите, что я делаю не так. Я что-то пропустил?

Вы можете попробовать это самостоятельно, используя вышеупомянутый URL до 100 раз в час, может быть, вы найдете способ сделать это:)

Мой код:

import json
import requests
url = "http://comtrade.un.org/api/get?&r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
import json
import requests
url = "http://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M"
f = requests.get(url, timeout=300)
x = json.loads(f.text)
print(x)

Надеюсь, это поможет.

0 голосов
/ 06 июля 2018

URL неверен, вы должны заменить ?& на ?, поэтому правильный URL становится: https://comtrade.un.org/api/get?r=32&freq=A&ps=2013&px=H4&cc=AG6&type=C&rg=2&p=0&head=M

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...