2011-04-09 114 views
0

我已經得到了我哪裏有HTML中的觀點,但我想提取一串出來的Python和BeautifulSoup解析HTML

有每個HTML文件,看起來像一條線這

<h4 class="ws-ds-name detail-title">DATA_I_WANT</h4> 

而且我不知道如何使用.find()方法來獲得正是標籤,然後提取出DATA_I_WANT

有什麼建議?

感謝

回答

1
from BeautifulSoup import BeautifulSoup as bs 
markup = ''' some HTML here ''' 
soup = bs(markup) 
soup.find('h4', {'class':'ws-ds-name detail-title'}).contents[0] 
# result: 
# u'DATA_I_WANT' 

或者你可以使用LXML:

from lxml.html import fromstring 
doc = fromstring(markup) 
doc.xpath('//h4[@class="ws-ds-name detail-title"]')[0].text 
# result: 
# 'DATA_I_WANT' 
+0

我得到以下錯誤:AttributeError的: 'NoneType' 對象有沒有屬性 '內容'。最初的發現是返回一個NoneType,但我很確定這條線看起來像那樣。有任何想法嗎? – 2011-04-09 06:22:10

+0

對不起,它似乎在我的機器上工作(使用BS和lxml)。也許別人會知道問題可能是什麼。祝你好運。 – bernie 2011-04-09 06:23:40

+1

@Arjun:Adam的代碼看起來不錯。請向我們展示導致AttributeError的HTML標記。 – mzjn 2011-04-09 07:04:29