如何从BeautifulSoup的项目列表中获取文本

2024-10-02 02:35:01 发布

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

所以,我试图从一个网站上刮取一些数据,我不能只从html的文本,我需要提取数据,并把它在一个单一的CSV文件列

我尝试过不同的步骤,比如在索引中循环,但是如果我这样做,我就无法在一列中得到创始人的完整列表(如果不止一个)

    for panel in panel.find_all('p', class_='content-group'):
            fondateur = panel.find_next_siblings('b')
            print(fondateur)

这就是我得到的:

    [<b>Alexandre Bilger</b>, <b>Fabrice de Salaberry</b>, <b>Olivier Gaunet</b>, <b>Cyril De Maleprade</b>]
    [<b>Anne OSDOIT</b>, <b>Gerard HASCOET</b>]
    [<b>Claude Avisse</b>]
    [<b>Nicolas NAIGEON</b>]
    [<b>Jérôme Varnier</b>, <b>Romain Melloul</b>, <b>Vincent Oliveira</b>]
    [<b>Clémentine GUYON </b>, <b>Clémence COURSIMAULT </b>]
    [<b>Maxim  Romain</b>]

我所期待的只是名字


Tags: 文件csv数据文本列表for网站cl
2条回答

看来你已经找到正确的元素了

从这里开始,您只需对每个元素使用getText()即可获得文本内容,并使用列表理解“展平”列表

试试这个:

names = [fondateur.getText() for panel in panel.find_all('p', class_='content-group') for fondateur in panel.find_next_siblings('b')]

print(names)

已经有一段时间了,因为我用BS,但它是返回名单,为您使用查找\u下\u兄弟姐妹

看起来你可以绕过去

请尝试以下操作:

for panel in panel.find_all('p', class_='content-group'):
    for name in panel.find_next_siblings('b')
        print(name)

你仍然会在它们周围有粗体的标签,这可能是你学习的下一步

相关问题 更多 >

    热门问题