Я получил следующий список списков при разборе с помощью Bs4 через фрагмент:
details = [i.find_all('span', {'class':re.compile('item')}) for i in cars]
[[<span class="item">Red <small>col.</small></span>,
<span class="item">120 <small>cc.</small></span>,
<span class="item">Available <small>in four days</small></span>,
<span class="item"><small class="txt-highlight-red">15 min</small></span>],
[<span class="item">Blue <small>col.</small></span>,
<span class="item">200 <small>cc.</small></span>,
<span class="item">Available <small>in a week</small></span>,
<span class="item">04 mar <small></small></span>],
[<span class="item">Green <small>col.</small></span>,
<span class="item">Available <small>immediately</small></span>,
<span class="item"><small class="txt-highlight-red">2 hours</small></span>]]
Дело в том, что не каждый вложенный список имеет одинаковое содержимое и одинаковую длину, поэтому я Я не хочу упростить получение текста в единственном списке.
Я пробовал этот код:
bobo = []
for detail in details:
for i in detail:
bobo.append(i.text)
Но, как я уже сказал, выдает следующий вывод:
[Red col., 120 cc., Available in four days, 15 min., Blue col., 200 cc., Available in a week, 04 mar , Green col., Available immediately, 2 hours]
При ожидаемом выходе:
[[Red col., 120 cc., Available in four days, 15 min.],
[Blue col., 200 cc., Available in a week, 04 mar ],
[Green col., Available immediately, 2 hours]]
Любая помощь?