1

我有以下 html,我只想获取产品名称并忽略 html 的其余部分。我该怎么做

我想要这个作为使用 beautifulsoup 的输出Apple iPhone 4 Verizon

  <h1 itemprop="itemreviewed">Apple iPhone 4 Verizon    
                        <div class="right">
  <span class="s_button_follow_special" style="display: block">
  <a href="javascript:;" style="display: block" onclick="subscribe(this, 1, 5132);" class="follow_1_5132 s_button_2 s_button_follow" title="Follow Apple iPhone 4 Verizon"><em class="s_icon s_icon_follow"></em>Follow</a>
  <a class="s_button_2 s_button_follow_arrow" href="javascript:;" onclick="subscribe(this, 1, 5132, '', 2);"></a>
  </span>
  <a href="javascript:;" style="display: none" onclick="subscribe(this, 1, 5132);" class="unfollow_1_5132 s_button_2 s_button_follow_disabled s_button_following" title="Unfollow Apple iPhone 4 Verizon"><span><em class="s_icon s_icon_following"></em>Following</span></a>
  </div>
  </h1>


  header= soup('h1', {'itemprop' : 'itemreviewed'})
4

2 回答 2

1

就像是

soup = BeautifulSoup(<h1 ....)
header = soup.h1['itemprop'].contents

于 2012-07-31T13:50:24.820 回答
0

Apple iPhone 4 Verizon文本是解析树中自己的元素,与任何其他元素分开;您可以通过获取附近的元素并使用 、 或 导航nextSiblingpreviousSibling选择nextprevious

所以这应该工作:

header = soup.find('h1', itemprop='itemreviewed')
text = header.next
于 2012-07-31T13:57:51.617 回答