获取标记外的文本作为

2024-10-04 05:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个糟糕透顶的网站上找些文字。 这是我被难住的部分:

    <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>-标记的前面。如果我使用汤.getText(),我得到了标签之外的文本,但是我也得到了很多其他我不想要的文本,所以这实际上不起作用。你知道吗

编辑:This是指向相关网站的链接。你知道吗

EDIT2:结果发现我使用了错误的解析器。详见下文。你知道吗


Tags: 文本br网站withtrtdfilmrip
1条回答
网友
1楼 · 发布于 2024-10-04 05:26:44

我认为^{}没有问题:

>>> 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

以下是使用与您共享的链接进行的演示:

>>> 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

相关问题 更多 >