Не извлекается элемент списка Python
при сохранении результатов в json единственный элемент списка, переменной amount отображается в квадратных скобках, во так: "amount": "['130']", вместо: "130"
Вот мой код:
name = soup.select_one('.ad-detail-title').text.strip()
amount = soup.select_one('.pagAnuPrecioTexto')
about = soup.select_one('.pagAnuCuerpoAnu')
ref = soup.select_one('.pillDiv pillRef')
location = soup.select_one('.pagAnuCatLoc').text.strip()
created = soup.select_one('.pagAnuStatsCreated').text.strip()
amount = regex.findall('(\d+)', str(amount))
item = {
'name': name,
'amount': str(amount),
'about': about,
'ref': str(ref),
'location': str(location),
'created': str(created),
'url': url,
}
data.append(item)
return data
При попытке указания позиции в списке [0] возвращается ошибка: "list index out of range python" В чём тут дело?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
У вас в amount ниже будет список строк, найденных в amount:
amount = regex.findall('(\d+)', str(amount))
item = {
'name': name,
'amount': str(amount),
...
И при вашей попытке оставить первое значение из списка через str(amount[0]) привело к ошибке, т.к. встретилось значение amount, в котором цифр не было, поэтому вам нужно добавить проверку, например:
...
item = {
'name': name,
'amount': amount[0] if amount else "0",
...