У меня есть веб-страница неупорядоченных списков, и я хочу превратить их в кадр данных pandas в качестве первого шага рабочего процесса НЛП.
import pandas as pd
from bs4 import BeautifulSoup
html = '''<html>
<body>
<ul>
<li>
Name
<ul>
<li>Many</li>
<li>Stories</li>
</ul>
</li>
</ul>
<ul>
<li>
More
</li>
</ul>
<ul>
<li>Stuff
<ul>
<li>About</li>
</ul>
</li>
</ul>
</body>
</html>'''
soup = BeautifulSoup(html, 'lxml')
Цель состоит в том, чтобы каждый список верхнего уровня превратился в фрейм данных, который будет выглядеть примерно так:
0 1 2
0 Name Many Stories
1 More null null
2 Stuff About null
Я пытался использовать следующий код, чтобы получить все элементы списка (вместе с подсписками)
target = soup.find_all('ul')
Но он возвращает двойные результаты:
[<li>
Name
<ul>
<li>Many</li>
<li>Stories</li>
</ul>
</li>, <li>Many</li>, <li>Stories</li>, <li>
More
</li>, <li>Stuff
<ul>
<li>About</li>
</ul>
</li>, <li>About</li>]
Действительно потерянный здесь. Благодарю.