也获取标签外的文本

Get Text outside of tags as well

我正试图从一个非常糟糕的网站中获取一些文本。 这是我被难住的部分:

    <tr><td valign="top">
                    <br>
                    <b>AGFA&nbsp;ACCUSET,&nbsp;<i>1994</i></b>&nbsp;<font color=grey>(46965)</font><br>
                    <br>
                    <b>Equipements : </b><br>AGFA 9800<br>
WITH RIP VIPER N°2<br>
FILM PROCESSOR GLUNZ AND JENSEN ML35 n°26498<br>
(LAIZE 450/600mm)<br>
Spectraset 2200<br>
                    <b>Availability : </b>IMMEDIATE<br></td><tr>

我需要的是里面所有的文字,所以

AGFA ACCUSET, 1994 (46965)

Equipements : AGFA 9800

WITH RIP VIPER N°2

FILM PROCESSOR GLUNZ AND JENSEN ML35 n°26498

(LAIZE 450/600mm)

Spectraset 2200

Availability : IMMEDIATE

如您所见,一些文本在 <b> 标签内,一些在 前面 <br> 标签内。如果我使用 soup.getText(),我会得到标签之外的文本,但我也会得到很多我不想要的其他文本,所以这实际上不起作用。

编辑: This 是相关站点的 link。

EDIT2: 结果我用错了解析器。请参阅下文了解更多信息。

我没有发现 get_text() 有问题:

>>> from bs4 import BeautifulSoup
>>> 
>>> data = """
... <tr><td valign="top">
...                     <br>
...                     <b>AGFA&nbsp;ACCUSET,&nbsp;<i>1994</i></b>&nbsp;<font color=grey>(46965)</font><br>
...                     <br>
...                     <b>Equipements : </b><br>AGFA 9800<br>
... WITH RIP VIPER N°2<br>
... FILM PROCESSOR GLUNZ AND JENSEN ML35 n°26498<br>
... (LAIZE 450/600mm)<br>
... Spectraset 2200<br>
...                     <b>Availability : </b>IMMEDIATE<br></td><tr>
... """
>>> 
>>> soup = BeautifulSoup(data)
>>> print(soup.tr.td.get_text())


AGFA ACCUSET, 1994 (46965)

Equipements : AGFA 9800
WITH RIP VIPER N°2
FILM PROCESSOR GLUNZ AND JENSEN ML35 n°26498
(LAIZE 450/600mm)

Spectraset 2200
Availability : IMMEDIATE

这是使用您分享给link的演示:

>>> from bs4 import BeautifulSoup
>>> import requests
>>> 
>>> url = "http://agec.de/index.asp?a=1&lg=de&macnum=46965"
>>> 
>>> response = requests.get(url)
>>> soup = BeautifulSoup(response.content)
>>> 
>>> soup.select('section#main_section aside#machine_detail form > table > tr')[1].get_text()


AGFA ACCUSET, 1994 (46965)

Equipements : AGFA 9800
WITH RIP VIPER N°2
FILM PROCESSOR GLUNZ AND JENSEN ML35 n°26498
(LAIZE 450/600mm)
Spectraset 2200
Availability : IMMEDIATE