Извлечение прямого текста под элементом тега Beautiful SoupPython

Программы на Python
Anonymous
Извлечение прямого текста под элементом тега Beautiful Soup

Сообщение Anonymous »

Это проект рекурсивной функции, которую я собираюсь создать

Код: Выделить всё

def extract_list_items(list):
items = []

for each item in main_list:
if item is list:
if item has string:
items.append([string] + extract_list_items(list))
else:
items.append(extract_list_items(list))
else for normal text:
items.append(normal text)
return items
Ввод — красивый тег списка супов.
Пример списка:

Код: Выделить всё

[list]
[*]Item 1
[*]Item 2
[*]
Item 3

Subitem 1
[*]Subitem 2
[/list]
Item 3.1


При анализе элемента списка:

Код: Выделить всё

[*]
Item 3
[list]
Subitem 1
[*]Subitem 2
[/list]
Item 3.1

Мне нужен результат:

Код: Выделить всё

[
'Item 3',
[
'Subitem 1',
'Subitem 2'
],
'Item 3.1'
]
Как добавить функцию извлечения удаленного текста из элемента списка? И в правильном порядке.
Я пробовал использовать tag.text, результат оказался не таким, как я ожидал, он вернулся вместе со строкой под вложенным дочерним элементом. list.
Строки могут содержать пустую новую строку и пробелы, разделение на новой строке невозможно.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ag-element

Вернуться в «Python»