2012-03-24 53 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