Работая с библиотекой python-google-place , я получил весь набор элементов, то есть place.name, place.place_id и т. Д.
googpla = GooglePlaces(apikey)
searchtxtplace = googpla.text_search(query = hotel[0]+" "+hotel[1])
for place in searchtxtplace.places:
place.get_details()
listatemp.append(place.name)#.encode('utf-8'))
#print place.name
listatemp.append(place.place_id)
diccionario = place.details
Однако проблемы возникают, когда я пытаюсь работать с .details. .details - это строка с внутренним форматом словаря, примерно такая ( Примечание: я не копирую буквально все повторяющиеся элементы, чтобы предложить управляемый источник для выражения моей проблемы ):
{
'vicinity': '17, Calle Victoria, Marjaliza',
'utc_offset': 60,
'rating': Decimal('4.3'),
'photos': [
{
'height': 640,
'html_attributions': [
'<a href="https://maps.google.com/maps/contrib/108485266188009851715/photos">Restaurante El Rincón De La Almazara</a>'
],
'photo_reference': 'CmRaAAAAxqW5EpWB86FNCay2mEZMC_Mv7gf1JIqDWJlQ6dln0okwPrnLicyp35p3S7jzafbGaSK5aAnh_yr2cgq1kmf6m6DPsGDQQm8jmGG5xDqBtoeJck7NQzZG8bZ0aMvGc5mEEhDINxTBkJ7HdEJH3bKY7vuVGhR9NbBR_vHgEL8H7OjXDnDecTWc6w',
'width': 640
}, #[...]
],
'address_components': [
{
'short_name': 'Calle Victoria',
'types': [
'route'
],
'long_name': 'Calle Victoria'
}, #[...]
'reviews': [
{
'profile_photo_url': 'https://lh4.googleusercontent.com/-FAGiynVp-QM/AAAAAAAAAAI/AAAAAAAABpU/GsFl3D2MR80/s128-c0x00000000-cc-rp-mo/photo.jpg',
'author_url': 'https://www.google.com/maps/contrib/103775273852380328675/reviews',
'author_name': 'Luis Alfonso GO',
'rating': 5,
'time': 1541463254,
'relative_time_description': 'in the last week',
'text': 'Buena comida y mejor atención',
'language': 'es'
},
{
'profile_photo_url': 'https://lh6.googleusercontent.com/-OMlBRtCyvwU/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbDV0BzvHwUu5lx1Z6u5-cp1i7bPlw/s128-c0x00000000-cc-rp-mo-ba3/photo.jpg',
'author_url': 'https://www.google.com/maps/contrib/115856190466605639253/reviews',
'author_name': 'Felix Anton PL',
'rating': 5,
'time': 1531241133,
'relative_time_description': '4 months ago',
'text': 'Situado en un pequeño pueblo de Toledo,a 6 Km de Los Yebenes,donde podrá degustar su excelente cocina,con gran variedad de exquisitos entrantes,buenos pescados y unas carnes muy bien presentadas y excelente sabor.\nDispone de habitaciones donde poder disfrutar del amanecer de los montes de Toledo.',
'language': 'es'
}, #[...]
]
'types': [
'restaurant',
'point_of_interest',
'food',
'establishment'
],
'place_id': 'ChIJXcd_0BQ9ag0R9TC6IVYxSuI',
'website': 'https://www.facebook.com/rinconde.laalmazara',
'scope': 'GOOGLE'
}
Inside place.details Я могу работать с уникальными элементами, такими как 'rating'
listatemp.append(json.dumps(diccionario.get("rating"), default=decimal_default))
Но я не смог получить доступ к элементам внутри вложенного массива 'reviews'. В самом деле, я хотел бы зацикливаться внутри него, чтобы получить пять значений «времени». Я попытался получить доступ к дампу 'reviews', но вместо правильного json получаю строку и не могу ссылаться на такие элементы, как 'time'
reviewes = (json.dumps(diccionario.get("reviews")))
У меня вопрос: как я могу получить доступ к вложенному массиву «reviews» или другой структуре данных, такой как эта?
Заранее большое спасибо