基于不同的html元素获取html元素上的文本

2024-09-27 04:21:28 发布

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

所以我有类似的东西

<tr>
  <td class="name">
     qwer
  </td>
  <td class="value">
     rtyu
  </td>
</tr>

<tr>
  <td class="name">
     asdf
  </td>
  <td class="value">
     zxcv
  </td>
</tr>

如果name元素包含一个text(asdf)条目,正在寻找获取value元素text(zxcv)的方法


Tags: 方法textname元素value条目trclass
1条回答
网友
1楼 · 发布于 2024-09-27 04:21:28

您可以美化组,并创建一个所有<tr>的列表,然后对每个列表进行迭代,并检查<td class="name">中的文本是否为asdf,如果为真,则得到<td class="value">中的文本

代码:

import bs4 as bs

html= """<tr>
  <td class="name">
     qwer
  </td>
  <td class="value">
     rtyu
  </td>
</tr>

<tr>
  <td class="name">
     asdf
  </td>
  <td class="value">
     zxcv
  </td>
</tr>"""

soup = bs.BeautifulSoup(html,'lxml')
trs = soup.findAll("tr")

for tr in trs:
    td_name=tr.find("td", {"class": "name"})
    if(td_name.text.strip() == "asdf"):
        td_value=tr.find("td", {"class": "value"})
        print(td_value.text.strip())

相关问题 更多 >

    热门问题