Я пытаюсь вытащить все значения DisplayUrl
из JSON, возвращенные Bing API. Я не уверен, что я делаю неправильно. Любое понимание оценено!Итерация над словарями JSON (Bing API)
search_response = urllib2.urlopen(request)
search_results = search_response.read()
results = json.loads(search_results)
for item in results.get(u'Web', []):
print item.get(u'DisplayUrl')
Мой запрос настроен вернуть два результата, так что я ищу, чтобы получить два отпечатка с ключа DisplayUrl
.
Принимаемый results
:
{
u'd': {
u'results': [
{
u'Web': [
{
u'Description': u'Test.comprovidesacompletesoftwaresolutionforcreatingonlinetestsandmanagingenterpriseandspecialistcertificationprograms,
inupto22languages.',
u'Title': u'Test',
u'Url': u'http: //www.test.com/',
u'__metadata': {
u'type': u'WebResult',
u'uri': u"https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/ExpandableSearchResultSet(guid'51264a7c-1d14-44a2-bbcc-afa43e7fac29')/Web?$skip=0&$top=1"
},
u'DisplayUrl': u'www.test.com',
u'ID': u'6987b446-c20a-4521-a998-f7cf62cff0aa'
},
{
u'Description': u"Test your Internet Connection with Speakeasy's reliable and accurate broadband speed test. What's your speed?",
u'Title': u'SpeakeasySpeedTest-MegaPath',
u'Url': u'http: //www.speakeasy.net/speedtest/',
u'__metadata': {
u'type': u'WebResult',
u'uri': u"https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/ExpandableSearchResultSet(guid'51264a7c-1d14-44a2-bbcc-afa43e7fac29')/Web?$skip=1&$top=1"
},
u'DisplayUrl': u'www.speakeasy.net/speedtest',
u'ID': u'b2cab0a5-9866-481b-86aa-1621616ca9c9'
}
],
u'VideoTotal': u'',
u'RelatedSearch': [
],
u'Image': [
],
u'__metadata': {
u'type': u'ExpandableSearchResult',
u'uri': u"https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Composite?Sources='web'&Query='test.com'&$skip=0&$top=1"
},
u'ImageOffset': u'',
u'AlterationOverrideQuery': u'',
u'ImageTotal': u'',
u'WebTotal': u'707000000',
u'SpellingSuggestionsTotal': u'',
u'WebOffset': u'0',
u'Video': [
],
u'News': [
],
u'AlteredQuery': u'',
u'SpellingSuggestions': [
],
u'VideoOffset': u'',
u'NewsTotal': u'',
u'ID': u'51264a7c-1d14-44a2-bbcc-afa43e7fac29',
u'NewsOffset': u''
}
]
}
}
нет удача. Я попытался сделать результаты в нижнем регистре, так как это так, как в JSON, но все равно ничего. –
@ChrisHall: можете ли вы дать нам * образец * JSON, который вы получаете, пожалуйста? Измените свой вопрос. –
@ChrisHall: Что мы делаем, это документация, в которой четко указаны «результаты» [«Веб»] - это словарь с ключом «Результаты», последний - список. Но если ваш запрос возвращает какой-то другой JSON, я бы хотел это увидеть. –