2012-03-24 36 views
1

我在做我的第一个程序与beautifulsoup和我的HTML文件,代码片段这样如何使用beautifulsoup

...... 
...... 
...... 

<font face="verdana" size="3">5 n i D 1 C</font> 
...... 
...... 

我想从<font>标签中提取5 n i D 1 C提取字体标签中的文本。我做

ele=soup('font', face="verdana",size="3")然后

ele.Contents() 

但是当我做我得到一个错误AttributeError: 'ResultSet' object has no attribute 'font'

​​

输出

[<font face="verdana" size="3">5 n i D 1 C</font>] 

这意味着它是正确的搜索,请帮助我如何提取给定的文字。

谢谢

回答

3
ele[0].contents[0] 
u'5 n i D 1 C' 
+0

工作!你能解释这里发生了什么吗? – sum2000 2012-03-24 18:15:30

+1

1.'ele = soup('font',face =“verdana”,size =“3”)',这里ele的类型是一个ResultSet,它看起来像一个列表。因此,要获得第一个字体元素,您必须获取ResultSet中的第一个项目,即'ele [0]'。 2. ele [0] .contents是一个字符串列表。所以要得到第一个字符串,你再次访问第0项。 – Asterisk 2012-03-24 18:19:13

+0

另外,如何在变量中存储'5niD1C'? – sum2000 2012-03-24 18:46:00

1

尝试做

ele[0].Contents() 

,而不是

ele.Contents() 

ELE为ResultSet而不是第一个结果,可能要检查的东西的文档,只有返回第一个结果。我不熟悉BeautifulSoup