Я запрашиваю условия поиска YouTube для использования с автозаполнением jquery, но мне трудно преобразовать ответ URL в правильный формат.
В моем представлении (Django / Python) я делаю:
data2 = urllib2.urlopen('http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&jsonp=window.yt.www.suggest.handleResponse&q=jum&cp=3')
(я жестко закодировал поисковый термин = 'jump' для простоты)
Если я сделаю data2.read()
, я получу то, что считаю JSON (копирование-вставка URL-адреса в браузер также возвращает это.)
window.yt.www.suggest.handleResponse(["jum",[["jumpstyle","","0"],["jump","","1"],["jump around","","2"],["jump on it","","3"],["jumper","","4"],["jump around house of pain","","5"],["jumper third eye blind","","6"],["jumbafund","","7"],["jump then fall taylor swift","","8"],["jumpstyle music","","9"]],"","","","","",{}])
Мне нужно вернуть это в формате, который jquery autocomplete может прочитать.Я знаю, что это сработает, если я смогу получить его в список, например, mylist = ['jumpstyle', 'jump', 'jump around', ...]
, а затем преобразовать обратно в json, прежде чем вернуть его:
json.dumps(mylist)
(Это работает, еслиЯ непосредственно определяю mylist
, как написано выше.)
Но я не могу получить данные, возвращаемые URL-адресом, ни в простой список (который я затем преобразовываю обратно в JSON), либо в какую-то формуJSON, который я могу вернуть напрямую для автоматического завершения.
Я пробовал, между прочим,
j2 = json.loads(data2)
и
j2 = json.loads(data2.read())
Надеюсь, кто-то можетпомощь!