为了账号安全,请及时绑定邮箱和手机立即绑定

使用 python3-beautifulsoup3 从 HTML 中抓取字符串

使用 python3-beautifulsoup3 从 HTML 中抓取字符串

阿晨1998 2023-03-16 17:02:52
我正在尝试使用 beautifulsoup 从表行中获取字符串。我想要获取的字符串是第二行和第三行的“SANDAL”和“SHORTS”。我知道这可以用正则表达式或字符串函数来解决,但我想学习 beautifulsoup 并尽可能多地使用 beautifulsoup。截取的 python 代码    soup=beautifulsoup(page,'html.parser')    table=soup.find('table')    row=table.find_next('tr')    row=row.find_next('tr')HTML    <html>    <body>    <div id="body">    <div class="data">        <table id="products">        <tr><td>PRODUCT<td class="ole1">ID<td class="c1">TYPE<td class="ole1">WHEN<td class="ole4">ID<td class="ole4">ID</td></tr>    <tr><td>SANDAL<td class="ole1">77313<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878717</td></tr>    <tr><td>SHORTS<td class="ole1">77314<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878718</td></tr>        </table>        </div>    </div>    </body>    </html>
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

要从表格的第一列(无标题)获取文本,您可以使用此脚本:


from bs4 import BeautifulSoup



txt = '''

    <html>

    <body>

    <div id="body">

    <div class="data">


    <table id="products">


    <tr><td>PRODUCT<td class="ole1">ID<td class="c1">TYPE<td class="ole1">WHEN<td class="ole4">ID<td class="ole4">ID</td></tr>

    <tr><td>SANDAL<td class="ole1">77313<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878717</td></tr>

    <tr><td>SHORTS<td class="ole1">77314<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878718</td></tr>


    </table>


    </div>

    </div>

    </body>

    </html>'''


soup = BeautifulSoup(txt, 'lxml')  # <-- lxml is important here (to parse the HTML code correctly)


for tr in soup.find('table', id='products').find_all('tr')[1:]:  # <-- [1:] because we want to skip the header

    print(tr.td.text)                                            # <-- print contents of first <td> tag

印刷:


SANDAL

SHORTS


查看完整回答
反对 回复 2023-03-16
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号