Python和BeautifulSoup解析HTML
问题描述:
我已经得到了我哪里有HTML中的观点,但我想提取一串出来的Python和BeautifulSoup解析HTML
有每个HTML文件,看起来像一条线这
<h4 class="ws-ds-name detail-title">DATA_I_WANT</h4>
而且我不知道如何使用.find()方法来获得正是标签,然后提取出DATA_I_WANT
有什么建议?
感谢
答
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'
我得到以下错误:AttributeError的: 'NoneType' 对象有没有属性 '内容'。最初的发现是返回一个NoneType,但我很确定这条线看起来像那样。有任何想法吗? – 2011-04-09 06:22:10
对不起,它似乎在我的机器上工作(使用BS和lxml)。也许别人会知道问题可能是什么。祝你好运。 – bernie 2011-04-09 06:23:40
@Arjun:Adam的代码看起来不错。请向我们展示导致AttributeError的HTML标记。 – mzjn 2011-04-09 07:04:29