我有这个html数据,我需要解析它从中提取数据。但它有很多标签和数据也难以为我导航。从下面的Html数据我需要创建一个python字典列表,看起来像:
[{ “学校”:“童车 玩 “},{” 地方 “:” 纽约 “},{” 级别 “:” 四 “},{” 国家 “:” USA “},{” 级别 当然“:”Easy“}]
<div class="quick">
<strong>School</strong><br /> Childs play <br /><br />
<strong>Place</strong><br />
<a href="Search.aspx?Menu=new&Me=">newyork</a><br /><br />
<strong>Level</strong><br />four<br /><br />
<strong>Country</strong><br />USA<br /><br />
<strong>Level Of Course</strong><br />Easy<br /><br />
</div>
我尝试使用beautifulsoup但没有成功。请帮助
答案 0 :(得分:1)
不幸的是,HTML并不是理想的解析结构,但可以将数据提取到有意义的Python字典中。
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(htmlString)
raw_data = soup.find(**{"class": "quick"}).contents
data = [x for x in raw_data if not hasattr(x, "name") or not x.name == "br"]
使用if not hasattr(x, "name") or not x.name == "br"
首先检查以确保该项是NavigableString
的实例,然后检查该元素是否为<BR>
标记。
data
将采用[<KEY>, <VALUE>, <KEY>, <VALUE>]
格式,从中提取数据应该非常简单。