使用 Python/BeautifulSoup 从多个 DIVS + DIV 样式中提取文本

我已经尝试了多种解决方案来解决这个问题,但无法弄清楚


我有以下 HTML:


<section id="content4" class="tab-content">

                                                    <p>

    <div class="Text_Title">Product 1</div>

    <div style="display: inline-block;">Red Ball<div></p>

                                                    <p>

    <div class="Text_Title">Product 2</div>

    <div style="display: inline-block;">Green Ball</div></p>

                                                    <p>

    <div class="Text_Title">Product 3</div>

    <div style="display: inline-block;">Yellow Ball</div></p>

    

我试图从DIV = Text_Title和中提取文本STYLE = display: inline-block;


我试图获得的输出:


Product 1 - Red Ball

Product 2 - Green Ball

Product 3 - Yellow Ball


一只斗牛犬
浏览 133回答 1
1回答

慕运维8079593

用于findAll提取符合给定条件的 Tag 对象列表,然后zip并行迭代公开迭代。from bs4 import BeautifulSoupinput_ = """<section id="content4" class="tab-content">                                                    <p>    <div class="Text_Title">Product 1</div>    <div style="display: inline-block;">Red Ball<div></p>                                                    <p>    <div class="Text_Title">Product 2</div>    <div style="display: inline-block;">Green Ball</div></p>                                                    <p>    <div class="Text_Title">Product 3</div>    <div style="display: inline-block;">Yellow Ball</div></p>"""soup = BeautifulSoup(input_, "html.parser")for x, y in zip(soup.findAll("div", attrs={"class": "Text_Title"}),                soup.findAll("div", attrs={"style": "display: inline-block;"})):    print(x.text, "-", y.text)Product 1 - Red BallProduct 2 - Green BallProduct 3 - Yellow Ball
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python