2011-04-09 110 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