2012-04-18 740 views
1

我有这个html数据,我需要解析从中提取数据。但它有这么多的标签和数据也很难通过我。从下面的Html数据我需要创建Python字典列表看起来像:使用beautifulsoup</br>标签之间的数据提取

[{ “学校”: “童车 戏”},{ “地方”: “纽约”},{ “级别”: “四”},{”国家 “:” USA “},{” 级 当然了 “:” 易“}]

<div class="quick"> 
<strong>School</strong><br /> Childs play <br /><br /> 
<strong>Place</strong><br /> 
<a href="Search.aspx?Menu=new&amp;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,但没有得到成功。请帮忙

回答

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>]的格式,从中提取数据应该是相当无足轻重的。

+0

哇谢谢........ – Anshul 2012-04-18 09:04:28

相关问题