Красивый суп игнорирует внутренний HTML

У меня есть следующий 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'})

person Rajeev    schedule 31.07.2012    source источник
comment
я привел в конце примера   -  person Rajeev    schedule 31.07.2012


Ответы (2)


Текст Apple iPhone 4 Verizon — это отдельный элемент в дереве синтаксического анализа, отдельный от любого другого; вы можете выбрать его, выбрав ближайший элемент и перемещаясь с помощью nextSibling, previousSibling, next или previous.

Итак, это должно работать:

header = soup.find('h1', itemprop='itemreviewed')
text = header.next
person Andrew Gorcester    schedule 31.07.2012

person    schedule
comment
Я думаю, что .contents извлечет все содержимое тега, включая весь html, такой как div и т. д. Вы можете попробовать .contents[0], чтобы получить только первый элемент. - person Andrew Gorcester; 31.07.2012