BeautifulSoup 中是不是有 InnerText 等价物?
Posted
技术标签:
【中文标题】BeautifulSoup 中是不是有 InnerText 等价物?【英文标题】:Is there an InnerText equivalent in BeautifulSoup?BeautifulSoup 中是否有 InnerText 等价物? 【发布时间】:2012-02-18 02:44:23 【问题描述】:使用下面的代码:
soup = BeautifulSoup(page.read(), fromEncoding="utf-8")
result = soup.find('div', 'class' :'flagPageTitle')
我得到以下 html:
<div id="ctl00_ContentPlaceHolder1_Item65404" class="flagPageTitle" style=" ">
<span></span><p>Some text here</p>
</div>
我怎样才能在没有任何标签的情况下获得Some text here
? BeautifulSoup
中是否有 InnerText 等价物?
【问题讨论】:
【参考方案1】:你只需要:
result = soup.find('div', 'class' :'flagPageTitle').text
【讨论】:
【参考方案2】:您可以搜索<p>
并获取其文本:
soup = BeautifulSoup.BeautifulSoup(page.read(), fromEncoding="utf-8")
result = soup.find('div', 'class': 'flagPageTitle')
result = result.find('p').text
【讨论】:
谢谢。实际上,我正在寻找无需额外find
的方法。在您的场景中,我也可以使用result.find('p').contents[0]
。【参考方案3】:
您可以使用findAll(text=True)
仅查找文本节点。
result = u''.join(result.findAll(text=True))
【讨论】:
以上是关于BeautifulSoup 中是不是有 InnerText 等价物?的主要内容,如果未能解决你的问题,请参考以下文章
BeautifulSoup 中是不是有 InnerText 等价物?
测试beautifulsoup中是不是存在children标签
BeautifulSoup find_all() 是不是保留标签顺序?
使用 INNER JOIN 或 EXISTS 在 m2m 关系中查找属于多个是不是更好?