Jak zapobiec dodawaniu do zupy dodatkowych tagów <html> <body> przez BeautifulSoup4? [duplikować

To pytanie ma już odpowiedź tutaj:

Nie umieszczaj automatycznie tagów html, head i body, beautifulsoup 5 odpowiedzi

W wersjach BeautifulSoup wcześniejszych niż 3 mogłem pobrać dowolny fragment HTML i uzyskać ciąg znaków w następujący sposób:

from BeautifulSoup import BeautifulSoup
soup3 = BeautifulSoup('<div><b>soup 3</b></div>')
print unicode(soup3)
    '<div><b>soup</b></div>'

Jednak w przypadku BeautifulSoup4 ta sama operacja tworzy dodatkowe tagi:

from bs4 import BeautifulSoup
soup4 = BeautifulSoup('<div><b>soup 4</b></div>')
print unicode(soup4)
    '<html><body><div><b>soup 4</b></div></body></html>'
     ^^^^^^^^^^^^                        ^^^^^^^^^^^^^^ 

Nie potrzebuję zewnętrznego<html><body>..</body></html>agi @, które dodaje BS4. Przejrzałem dokumenty BS4 i przeszukałem wewnątrz klasy, ale nie mogłem znaleźć żadnego ustawienia dla tłumienia dodatkowych znaczników w danych wyjściowych. Jak mam to zrobić? Zmiana na wersję v3 nie jest opcją, ponieważ parser SGML użyty w BS3 nie jest tak dobry jaklxml lubhtml5lib parsery, które są dostępne z BS4.

questionAnswers(2)

yourAnswerToTheQuestion